当前位置: 首页> 文旅> 旅游 > 资源网站推荐几个_东莞推广平台有哪些_网站软文推广范文_公司网页怎么做

资源网站推荐几个_东莞推广平台有哪些_网站软文推广范文_公司网页怎么做

时间:2025/7/11 0:11:18来源:https://blog.csdn.net/Jayna_Su/article/details/145897187 浏览次数:0次
资源网站推荐几个_东莞推广平台有哪些_网站软文推广范文_公司网页怎么做

一、 快慢指针

1. 有序数组原地去重

(1)题目

点击链接
在这里插入图片描述

(2)代码

class Solution {
public:int removeDuplicates(vector<int>& nums) {int slow = 0, fast = 0;while (fast < nums.size()){if (nums[fast] == nums[slow]) fast ++;else{slow ++;nums[slow] =  nums[fast];fast ++;}}return slow + 1;}
};

2. 移除元素

点击链接

(1)题目

在这里插入图片描述

(2)代码

class Solution {
public:int removeElement(vector<int>& nums, int val) {int slow = 0, fast = 0;while (fast < nums.size()){if (nums[fast] == val) fast ++;else{// 与上面题目相区别:// 第一个元素也可能是要被移除的元素,上面的题目不可能有这种情况// 所以不能让slow先走一步,再去赋值// 而是:只要fast探路探到的元素与val不一致,就把该元素赋值给num[slow]// 然后slow ++; fast ++;nums[slow] = nums[fast];slow ++;fast ++;}}return slow;}
};

二、左右指针

1. 反转字符串

(1)题目

点击链接
在这里插入图片描述

(2)代码

class Solution {
public:void reverseString(vector<char>& s) {for (int i = 0, j = s.size() - 1; i < j; i ++, j --)swap(s[i], s[j]);for (auto elem : s) cout << elem << '  ';}
};

2. 有序数组两数之和

(1)题目

点击链接
在这里插入图片描述

(2)代码

class Solution {
public:vector<int> twoSum(vector<int>& numbers, int target) {int l = 0, r = numbers.size() - 1;while (l <= r){int sum = numbers[l] + numbers[r];if (sum == target)return vector<int>{l + 1, r + 1};else if (sum < target) l ++;else r --;}return vector<int>{-1, -1};}
};

3. 最长回文子串

(1)题目

点击链接
在这里插入图片描述

(2)代码

class Solution {
public:string panlindrome(string s, int l, int r){while (l >= 0 && r < s.size() && s[l] == s[r])l --, r ++;string res = s.substr(l - 1, r - l + 1);return res;}string longestPalindrome(string s) {string res;for (int i = 0; i < s.size(); i ++){// 寻找奇数子串s1string s1 = panlindrome(s, i, i);// 寻找偶数子串s2string s2 = panlindrome(s, i, i + 1);// 取最大的为最长回文子串if (s1.size() > res.size()) res = s1;if (s2.size() > res.size()) res = s2;}return res;}
};
关键字:资源网站推荐几个_东莞推广平台有哪些_网站软文推广范文_公司网页怎么做

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: