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

上海做网站站长之家域名解析

上海做网站,站长之家域名解析,线上广告,网站开发教育培训最近准备面试,我以前不愿意面对的 现在保持一颗本心,就是专注于算法思想,语言基础的磨炼; 不为速成,不急功近利的想要比赛,或者为了面试。 单纯的本心,体验算法带来的快乐,是一件非常…

最近准备面试,我以前不愿意面对的

现在保持一颗本心,就是专注于算法思想,语言基础的磨炼;

不为速成,不急功近利的想要比赛,或者为了面试。

单纯的本心,体验算法带来的快乐,是一件非常了不起的事。

加油,持续输出~

战胜恐惧最好的方法,就是面对

一、滑动窗口

1.1 最小覆盖子串

集成度越高的结构体(unordered_map)再使用上虽然方便,但遇到多次循环处理,处理速度不如用vector维护的可变数组;

把两组映射转换为一个数组,非常巧妙;

运行速度真的是见仁见电脑吗?我参考的1ms 的写法,甚至把他的源码,放我的LeetCode提交,我的最快也还是3ms。

(想到了飞驰人生2,虽然比不上专业赛车,只要你苦练技术,一定可以超越自己)

/*滑动窗口 O(1)
对于一个数组、字符串、链表 原串 s 目标串 t 最终结果 res
定义两个hash map: hs 负责记录滑动窗口,ht 负责目标串
定义i,j两个指针,i负责扩展,满足条件 cnt 计数器++
j负责缩圈 当满足条件,j--
*/
//模板
string minWindow(string s, string t) {unordered_map<char, int> hs, ht;for(auto a : t)ht[a]++;int cnt = 0;string res = "";for(int i=0, j=0; i < s.size(); i++){hs[s[i]]++;if(hs[s[i]] <= ht[s[i]])//条件可根据实际发生变化cnt++;while(hs[s[j]] > ht[s[j]]) //缩圈hs[s[j++]]--;if(cnt == t.size() && (res == ""||res.size() > (i-j+1))){//条件根据实际情况res = s.substr(j, i-j+1);}}return res;
}
对于字符串也可以用vector, 更节省时间string minWindow(string s, string t) {//unordered_map<char, int> hs, ht;vector<int> ht(128,0);for(auto a : t)ht[a]++;int cnt = 0;//string res = "";int rlen = INT_MAX;int len = t.size();int i=0, j=0, rj = 0, ri = 0;for(; i < s.size(); i++){//hs[s[i]]++;//if(hs[s[i]] <= ht[s[i]])char c = s[i];if(ht[c] > 0){cnt++;}   ht[c]--; //每个字符都减掉,如果是目标字符都是0,说明找到了,如果是-1 说明遇到重复的了需要缩圈//while(hs[s[j]] > ht[s[j]]) // hs[s[j++]]--;if(cnt == len) {while(ht[s[j]]<0){ht[s[j]]++;//把多减掉的不回来j++; //指针往后移动,继续缩圈,就是删掉不用重复的字符} if(rlen > (i-j+1)) //更新目标子串{rlen = (i-j+1);ri = i;rj = j;}}}if(rlen != INT_MAX)return s.substr(rj, ri-rj+1);elsereturn "";      }

1.2 长度最小子数组

输入输出流的取消能快很多+一些特殊判断

auto optimize_cpp_stdio=[](){std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cout.tie(nullptr);return 0;
}();
class Solution {
public:int minSubArrayLen(int target, vector<int>& nums) {int hs = 0;int nlen = nums.size();int len = nlen + 1;for(int i=0,j=0; i < nlen; i++){hs+= nums[i];            while(hs-nums[j] >= target){hs=hs-nums[j]; j++;} if(hs >= target && len > i-j+1)len = i-j+1;if(len == 1)return 1;}if(len!=nlen+1)return len;elsereturn 0;}
};

http://www.tj-hxxt.cn/news/77376.html

相关文章:

  • 网站开发费用无形资产网站seo在线优化
  • 注册域名需要多久对搜索引擎优化的认识
  • 苏州做网站价格软文推广是什么
  • 西乡专业建站免费推广公司
  • 商城类网站如何做seo上海seo优化公司bwyseo
  • 手机页面网站开发例子百度竞价排名什么意思
  • 源代码网站和模板做的区别企业营销案例
  • 怎么做自己微信的网站百度高级搜索
  • 淘宝客网站一定要备案软件开发公司经营范围
  • 合肥哪家公司做网站靠谱新公司如何做推广
  • 滨海网站建设找哪家好seo培训班
  • 网站建设方案意见电子商务推广方式
  • 静态网站开发工具有哪些上海网站快速排名优化
  • archdailyseo优化排名方法
  • ps做图游戏下载网站有哪些优化大师好用吗
  • 专做教育网站拿站营销活动方案模板
  • 西安做的好的网站公司新闻源
  • 8个页面的网站怎么做在线制作网站免费
  • 成都市建设交通委员会网站网页推广平台
  • 香港公司网站内地主机桔子seo查询
  • 帮人做网站的推广一键优化下载
  • 中国纪检监察报谁题的报名北京网优化seo公司
  • 商城类网站建设需要多少钱谷歌搜索引擎入口2021
  • 门户网站收录什么叫做优化
  • 小视频网站开发流程图北京疫情最新情况
  • 专业做公司宣传网站网络营销的八大能力
  • 免费制作网站的步骤 怎样做网站温州网站建设开发
  • 青岛做网站方案搜索引擎广告优化
  • 2018春节放假安排 网站建设全网营销系统是不是传销
  • 怎么查网站备案域名备案中国进入一级战备状态了吗