当前位置: 首页 > news >正文

商业网站建设案例笔记网站建设投标文档

商业网站建设案例笔记,网站建设投标文档,西安网站建设哪家比较好,nat123做视频网站文章目录 1.将x减到0的最小操作数2.水果成篮3.找到字符串中所有字母异位词 1.将x减到0的最小操作数 分析题目 x不断地减去数组两端的值 看能否减到0#xff1b;是不是就是在问#xff1a;nums数组中存不存在【左端右端】组成的连续区间#xff0c;区间上数的和为x 继续分析 … 文章目录 1.将x减到0的最小操作数2.水果成篮3.找到字符串中所有字母异位词 1.将x减到0的最小操作数 分析题目 x不断地减去数组两端的值 看能否减到0是不是就是在问nums数组中存不存在【左端右端】组成的连续区间区间上数的和为x 继续分析 》 是不是就是在问nums数组中存不存在内部的一段连续区间区间上的数的和为sum(nums) - x 很明显这是个经过分析的【滑动窗口】问题 代码 class Solution { public:int minOperations(vectorint nums, int x){int sum 0;for (int a : nums)sum a;int target sum - x;//x比sum大 sum中就不会存在几个数的和xif (target 0)return -1;int ret -1;for (int left 0, right 0, tmp 0; right nums.size(); right){tmp nums[right]; while (tmp target) tmp - nums[left]; if (tmp target) ret max(ret, right - left 1);}if (ret -1)return ret;elsereturn nums.size() - ret;} }; 2.水果成篮 分析 依旧是滑动窗口一个区间该区间内水果种类不能超2超2就将下一个元素作为区间的起始位置 代码 class Solution { public:int totalFruit(vectorint f){// i是树的下标 fruits[i]是水果的种类编号 fruits[i]: 0~100000int hash[100001] {0}; // 以水果的种类编号作hash的下标 对应值记录该种水果出现次数int ret 0;for (int left 0, right 0, kinds 0; right f.size(); right){// 当前遍历的该水果在篮子里的次数是0 种类if (hash[f[right]] 0)kinds;// 当前遍历的该水果可以出现在篮子里hash[f[right]];while (kinds 2){// left作起始位置的这个区间已达最大长度 继续遍历 将下一个元素作为区间的起始位置hash[f[left]]--; // 出窗口 水果次数--if (hash[f[left]] 0) // 如果拿出窗口的水果在原来的篮子里是独苗 种类也--kinds--;left; // 继续下一个元素作为区间的起始位置}ret max(ret, right - left 1);}return ret;} };cpp_stl容器unordered_map class Solution { public:int totalFruit(vectorint f){unordered_mapint, int hash; int ret 0;for (int left 0, right 0; right f.size(); right){hash[f[right]]; while (hash.size() 2) {hash[f[left]]--;if (hash[f[left]] 0)hash.erase(f[left]);left;}ret max(ret, right - left 1);}return ret;} }; 3.找到字符串中所有字母异位词 滑动窗口的分类 区间长度固定如本题左指针疯狂右移 right不动右指针疯狂右移 left不动 总体思路这道题【维护窗口的时机】发生在窗口的长度超过了p的长度保证窗口的长度只能不大于p的长度 遍历母串遍历到who不管符不符合条件who就先进窗口如果who是一个【有效字符】即【可以作为异位词的字符】即【在p中出现且次数不超过在p中出现的字符】接着上一句如果who是一个【有效字符】那么有效字符个数validChar; 经过不断遍历如果窗口的长度已经大于p的长度窗口就要右移了即left; 并且left在窗口中的次数也要winHash[out - a]--; 需要注意的是如果移出去的left他对应的值在窗口中出现的次数大于在p中出现的次数left移出后有效字符个数不变left出去正是我们想要的这个操作表明窗口中少了一个不该出现的字符这使得区间中的字符越来越接近我们想要的字符组合即异位词。上述操作保证了窗口的长度只能不大于p的长度。接着再判断如果此时窗口中的有效字符个数 p的长度表示我们找了“异位词”。如果此时validChar ! pLen 表示: 虽然窗口的长度到达了pLen但是窗口中的字符并不是全部有效还要继续添加新元素来满足窗口的长度为pLen且均为有效字符。 代码 史上最全解析 class Solution { public:vectorint findAnagrams(string s, string p){vectorint ret;int sLen s.size(), pLen p.size(), validChar;// 母串长度比子串长度还小 直接返回if (sLen pLen)return ret;// p字符串有哪些字符 分别出现了多少次// phash中值不为0的下标代表有哪些字符 值就是它出现的次数int pHash[26] {0};for (auto ch : p)pHash[ch - a];// 记录窗口中有哪些字符以及对应出现的次数int winHash[26] {0};// 要理解这种写法 要理解两个关键字// 1. winHash :窗口中有哪些字符以及对应出现的次数// 2. validChar:窗口中有效字符的个数for (int left 0, right 0, validChar 0; right s.size(); right){// in即将进入窗口的字符char in s[right];// 遍历到in了 in默认进窗口 用【in在窗口中的次数】来表征in进窗口了// 如果此时窗口中in的次数大于p中in的次数 那么in是作为一个无效字符进的窗口 有效字符个数不变// 如果此时窗口中in的次数不大于p中in的次数 表明in此时在窗口中是一个有效字符 有效字符个数if (winHash[in - a] pHash[in - a])validChar;// 窗口的长度已经大于子串了if (right - left 1 pLen){char out s[left];// out在窗口中出现的次数 out在p中出现的次数 有效字符个数--// 反向理解// 如果out在窗口中出现的次数 out在p中出现的次数// out移出后 有效字符个数不变 out出去正是我们想要的 窗口中少了一个不该出现的字符// 这使得区间中的字符越来越接近我们想要的字符组合了即异位词if (winHash[out - a]-- pHash[out - a])validChar--;}// 前面两个if保证窗口的窗口不会超过p的长度// 如果此时validChar pLen即窗口中的有效字符个数等于p的长度 表示我们找了“异位词”// 如果此时validChar ! pLen 表示: 虽然窗口的长度到达了pLen 但是窗口中的字符并不是全部有效// 还要继续添加新元素 来满足窗口的长度为pLen且均为有效字符if (validChar pLen)ret.push_back(left);}return ret;} };
http://www.zqtcl.cn/news/361713/

相关文章:

  • 自己怎样用手机建网站网件app
  • 周口网站开发西安市建设厅网站
  • 怎么授权小说做游戏网站论坛网站开发语言
  • 烟台商城网站建设怎么样引流顾客到店方法
  • 北京做网站公司的排名python基础教程pdf
  • 网站建设为什么学flash建设工程询价网站有哪些
  • 网站内容建设机制企业管理模式有哪些
  • 中山网站建设文化价格建网站域名注册
  • 手机电影网站怎么做大连最新发布
  • 珠三角网站建设网页制作专业知识
  • 罗湖微信网站制作深圳做网站哪个公司最好
  • ps如何做ppt模板下载网站网站模板分类
  • 网站建设在线网站服务器和直播服务器一样吗
  • iapp网站做软件教程朋友圈广告投放平台
  • 优门设 网站网站代理 正规备案
  • 衡水做wap网站上海做网站吧
  • seo推广思路seo线下培训班
  • 没有备案的网站怎么做淘宝客html5开发手机网站
  • 酒店旅游团购网站建设推广普通话实践总结
  • 基本的网站开发技术路线建设网站的好处有哪些
  • 网站排行怎么做wordpress all in one seo插件
  • 河北特定网站建设推荐wordpress添加vip用户组
  • 北京商城网站建设地址asp.net网站开发 pdf
  • 如何用网页制作网站龙岩门户网站
  • 中国建设银行官网站下载建设网站弹出后加载不进去
  • 广告网站制作多少钱建设工程合同甲方
  • 一号网站建设誉重网站建设
  • 网站seo优化查询网站开发最合适的搭配
  • 做文员的网站知乎qq小程序怎么打开
  • 网站外链建设分析wordpress生成验证码发送代码