Home avatar

翼仔的博客

219.存在重复元素II

1 问题描述219.存在重复元素II 2 解题思路利用unordered_map记录元素出现的次数,使用滑动窗口法。 3 代码 cpp class Solution { public: bool containsNearbyDuplicate(vector<int>& nums, int k) { unordered_map<int,

396.旋转函数

1 问题描述396.旋转函数 2 解题思路关键在于找到数学规律 3 代码 cpp class Solution { public: int maxRotateFunction(vector<int>& nums) { vector<int> tmp(2 * nums.size(), 0); vector<int> res(nums.size(), 0); int sum = 0; for (int i = 0; i < nums.size(); i++) { tmp[i] = nums[i]; tmp[i + nums.size()] = nums[i];

1796.字符串中第二大的数字

1 问题描述1796.字符串中第二大的数字 2 解题思路遍历就好了 3 代码 cpp class Solution { public: int secondHighest(string s) { int first = -1; int second = -1; for (int i = 0; i < s.size(); i++) { if (s[i] <= '9') { if (s[i] - '0' >

131.分割回文串

1 问题描述131.分割回文串 2 解题思路利用动态规划来判断字符串是否是回文串: - if (s[i] == s[j]) dp[i][j] = dp[i + 1][j - 1]; 这里遍历的时候要注意i的遍历顺序; 最后考