LeetCode 2441. 与对应负数同时存在的最大正整数
题目链接:
Loading Question... - 力扣(LeetCode)
解题思路:
从头到尾枚举每个数,依次判断当前最大值是否能被更新即可:
class Solution { public: int findMaxK(vector<int>& nums) { int n = nums.size(); int maxd = -1; for (int i = 0; i < n; i ++ ) if (nums[i] > maxd && nums[i] > 0) { for (int j = 0; j < n; j ++ ) if (nums[j] < 0 && abs(nums[j]) == nums[i]) { maxd = nums[i]; } } return maxd; } };
LeetCode 2442. 反转之后不同整数的数目
题目链接:
6205. 反转之后不同整数的数目 - 力扣(LeetCode)
解题思路:
遍历整个数组找出他们反转后的数,然后排序,判断有多少个不同的数即可:
class Solution { public: int countDistinctIntegers(vector<int>& nums) { vector<int> ans; int n = nums.size(); for (int i = 0; i < n; i ++ ) ans.push_back(nums[i]); for (int i = 0; i < n; i ++ )//记录反转后的数组 { int t = nums[i]; int sum = 0; while (t) { int a = t % 10; t /= 10; sum = sum * 10 + a; } ans.push_back(sum); } sort(ans.begin(), ans.end()); int res = 1; for (int i = 0; i < ans.size(); i ++ )//判断不同的元素 { int j = i + 1; while (j < ans.size() && ans[i] == ans[j]) j ++ ; if (j >= ans.size()) break; res ++ ; i = j - 1; } return res; } };
LeetCode 2443. 反转之后的数字和题目链接:
Loading Question... - 力扣(LeetCode)
枚举整个数组,找出它反转之后的数,直接判断反转后的数与反转前的数相加是否等于num即可:
class Solution { public: bool sumOfNumberAndReverse(int num) { if (!num) return true; for (int i = 0; i < num; i ++ ) { int sum = 0; int t = i; while (t) { int a = t % 10; t /= 10; sum = sum * 10 + a; } if (sum + i == num) return true; } return false; } };
LeetCode 2444. 统计定界子数组的数目
题目链接:
Loading Question... - 力扣(LeetCode)
解题思路:
class Solution { public: long long countSubarrays(vector<int>& nums, int minK, int maxK) { long long res = 0; int smax = 0, smin = 0; for (int i = 0, j = 0, last = 0; i < nums.size(); i ++ ) { if (nums[i] > maxK || nums[i] < minK)//从新清0 { j = last = i + 1; smax = smin = 0; continue; } if (nums[i] == maxK) smax ++ ; if (nums[i] == minK) smin ++ ; while (j <= i) { if (nums[j] == maxK) smax -- ; if (nums[j] == minK) smin -- ; if (!smax || !smin) { if (maxK == nums[j]) smax ++ ; if (minK == nums[j]) smin ++ ; break; } j ++ ; } if (smin && smax) res += j - last + 1; } return res; } };