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

邯郸城乡建设部网站首页北京怎样建设公司网站

邯郸城乡建设部网站首页,北京怎样建设公司网站,哪个网站的体验做的最好,wordpress插件seo例1 209. 长度最小的子数组 ①窗口大小不固定 ②求最小长度 - ret INT_MAX ③数组内的值都大于0#xff0c; 符合单调性#xff08;sum nums[right] - sum增大#xff09; while里面符合条件#xff0c;在里面更改ret 参考代码 class Solution { public:i…例1 209. 长度最小的子数组 ①窗口大小不固定 ②求最小长度 - ret INT_MAX ③数组内的值都大于0 符合单调性sum    nums[right] - sum增大 while里面符合条件在里面更改ret 参考代码 class Solution { public:int minSubArrayLen(int target, vectorint nums) {int ret INT_MAX;for(int left 0, right 0, sum 0; right nums.size(); right){sum nums[right];while(sum target){ret min(ret, right - left 1);sum - nums[left];}}return ret INT_MAX ? 0 : ret;} }; 例2 3. 无重复字符的最长子串 while里面是不符合条件的外面与ret比较就行 参考代码 class Solution { public:int lengthOfLongestSubstring(string s) {int hash[128] {0};int ret 0;for(int left 0, right 0; right s.size(); right){hash[s[right]];while(hash[s[right]] 1){hash[s[left]]--;}ret max(ret, right - left 1);}return ret;} }; 例3 1004. 最大连续1的个数 III [right,  left]有效闭区间 参考代码 class Solution { public:int longestOnes(vectorint nums, int k) {int ret 0;for(int left 0, right 0, zero 0; right nums.size(); right){if(nums[right] 0) zero;while(zero k){if(nums[left] 0) zero--;}ret max(ret, right - left 1);}return ret;} }; 例4 转换为求中间最大长度 如果要用注释掉的部分就要写上target 0因为while(tmp target) 会left这里的会导致left越界所以分开写较好把满足条件的放在外面 参考代码 class Solution { public:int minOperations(vectorint nums, int x) {int sum 0, ret -1;for(auto e : nums)sum e;int target sum - x;if(target 0) return -1;// if(target 0) return nums.size();//for(int left 0, right 0, tmp 0; right nums.size(); right){tmp nums[right];// while(tmp target)//☆☆☆☆☆// {// if(tmp target)// ret max(ret, right - left 1);// tmp - nums[left];//的时候越界最后一次// }while(tmp target) tmp - nums[left];if(tmp target) ret max(ret, right - left 1);}return ret -1 ? -1 : nums.size() - ret;} };例5 904. 水果成篮 后面的题都用到哈希映射 分析哈希的临界点是从0 - 1 和从 1 - 0 语法--hash[fruits[left]] 看括号里面的优先外面括号的前置“”“--” 往后稍稍所以hash的索引是fruit[left]再是left自增再是--hash[fruit[left]] 参考代码 class Solution { public:int totalFruit(vectorint fruits) {int hash[100001] {0}, ret 0;for(int left 0 ,right 0 ,count 0; right fruits.size(); right){if(hash[fruits[right]] 0) count;while(count 2)if(--hash[fruits[left]] 0) count--;ret max(ret, right - left 1);}return ret;} }; 例6 438. 找到字符串中所有字母异位词 分析因为是固定窗口所以if(right - left 1 p.size())用的是if只用右移一次left 语法分析 ①代码是全都拆开 ②后置 和后置 -- 在这里两个写一起是不对的因为右操作数例有left顺序是这样的显示返回hash2[s[left],然后left然后hash2[s[left]]--这时候left已经变大了1导致左右两边left不是相同的值 ③和⑤可以统一left ②③和④⑤是后置-- 和前置-- 的区别所以判断条件也会不同。个人觉得后置的更好直接理解 参考代码 class Solution { public:vectorint findAnagrams(string s, string p) {vectorint ret;int hash1[128] {0}, hash2[128] {0};for(auto e : p)hash1[e];for(int left 0, right 0, count 0; right s.size(); right){if(hash2[s[right]] hash1[s[right]]) count;if(right - left 1 p.size()){// if(hash2[s[left]] hash1[s[left]]) count--; 1// hash2[s[left]]--;// left;//if(hash2[s[left]]-- hash1[s[left]]) count--;不对先 2// if(hash2[s[left]]-- hash1[s[left]]) count--; 3// left;//if(--hash2[s[left]] hash1[s[left]]) count--;//不行 4//这里的后缀比前置的--优先级高if(--hash2[s[left]] hash1[s[left]]) count--; //5left;}if(count p.size())ret.push_back(left);}return ret;} }; 例7 分析对比上题就是把字符换成了字符串那就只能用unordered_mapstring, int, 题目说了words里面的每个元素的长度相同次数words[0].size() 注意 leftright i不是0不然会ret是重复的数组 对于这行代码 if(hash1.count(in) hash2[in] hash1[in]) count;如果hash1[in]没有这个in那么会自己创建一个会浪费时间前面加上hash1.count(in)判断可以减少时间的消耗 参考代码 class Solution { public:vectorint findSubstring(string s, vectorstring words) {unordered_mapstring, int hash1;vectorint ret;for(auto e : words)hash1[e];int len words[0].size();for(int i 0; i len; i){unordered_mapstring, int hash2;for(int left i, right i, count 0; right len s.size(); right len){string in(s.substr(right, len));if(hash1.count(in) hash2[in] hash1[in]) count;if(right - left len - 1 words.size() * len){string out(s.substr(left, len));if(hash1.count(out) hash2[out]-- hash1[out]) count--;left len;}if(count words.size())ret.push_back(left);} }return ret;} }; 例8 76. 最小覆盖子串 ①ret min(ret, right - left 1), begin left; ②if(right - left 1 ret)  {ret right - left 1;begin left;} ①②两段代码是有区别的 上面不管ret是否变化begin就会改变 下面的ret变小了才会变化 依据上面的题目知道这里的left是不能写在里面的 if(hash2[s[left]]-- hash1[s[left]]) count--;left; 注这里是求最小长度那么窗口肯定是变化的肯定是while 参考代码 class Solution { public:string minWindow(string s, string t) {int hash1[128] {0}, hash2[128] {0}, ret INT_MAX, begin -1;for(auto e : t)hash1[e];for(int left 0, right 0, count 0; right s.size(); right){if(hash2[s[right]] hash1[s[right]]) count;while(count t.size()){// ret min(ret, right - left 1), begin left;if(right - left 1 ret){ret right - left 1;begin left;}if(hash2[s[left]]-- hash1[s[left]]) count--;left;}}return ret INT_MAX ? : s.substr(begin, ret);} };
http://www.zqtcl.cn/news/925027/

相关文章:

  • 上传网站内容做社交电商第一步怎么做
  • 网站icp查询系统wordpress 页面 首页
  • wordpress安装教程wamp搜索引擎优化的英文缩写是什么
  • 成都旅行社网站建设网站建设包含哪些方面
  • 找不到网站后台怎么办韩国网站域名分类
  • 建设商务网站作用积极参与网站信息建设工作
  • 网站开发阶段Oss怎么做静态网站
  • 做科学小制作的视频网站怎么才能建立自己的网站啊
  • 跳蚤市场网站开发背景网站优点
  • 长春网站建设方案咨询怎么做自己的网站平台
  • 网站建设谈单技巧做网站建设科技公司
  • 品牌网站建设4a小蝌蚪网页设计分类
  • 域名注册以后会给你一个账户名密码上传做好的网站文化网站建设需要的功能
  • 企业站用wordpress做好吗那些做环保网站的好
  • 天津有哪些有名的网站建设公司商城网站模板免费
  • 安徽省途顺建设工程有限公司网站制作网站公
  • 北京建设职工大学网站成都网站建设比较好的公司
  • 网站建设品牌策wordpress怎么做企业网站
  • 网站正在建设中 html 模板医院网站建设预算表
  • 哪个网站能接施工图来做购物网站黑白
  • 网站开发课设心得企业宣传页模板
  • 中学生怎么做网站ghost 卸载wordpress
  • 网站诊断报告案例用户浏览网站的方式
  • 网站开发流程抚州做网站需要看的书
  • wordpress 禁止目录浏览网站seo推广优化
  • 源代码如何做网站高校门户网站建设需要多少钱
  • 深圳微商城网站制作报价基础网页设计教程
  • wordpress+vps建站大连网站建设运营
  • 第一次开票网站建设怎么开制作网站品牌公司哪家好
  • 医疗机械网站怎么做什么是o2o电商模式