摘要: 思路: hash表来做,只要res字符串的长度还小于s的长度就一直循环,循环的做的事情是先从小字母加,再从大的字母加。 我们通过vector来模拟hash表,从小到大的加就是从i=0开始加到i=25,从大到小就是25到0的加即可。 代码: class Solution { public: strin 阅读全文
posted @ 2021-04-18 22:52 Mrsdwang 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 思路: 直接双指针即可,也称快慢指针吧。 慢指针用来定位应该被替换的元素,也就是数组前几个元素,快指针用于发现和慢指针所指的元素不同的元素,当发现后就替换掉慢指针所指的元素即可。 代码: class Solution { public: int removeDuplicates(vector<int 阅读全文
posted @ 2021-04-18 18:12 Mrsdwang 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 思路: 因为固定了是在 [i-k,i+k]的区间内寻找 在区间[nums[i]-t,nums[i]+t]的元素,所以可以考虑用滑动窗口,但是这里并不用双指针来操作,不然和暴力没区别了。 我们要找到一个数据结构,能够自动排序,因为排序我们就能直接找到K窗口里面的最小值和最大值,优化找到[nums[i] 阅读全文
posted @ 2021-04-18 17:42 Mrsdwang 阅读(34) 评论(0) 推荐(0) 编辑