wolves il y a 3 mois
Parent
commit
e0912887c2
3 fichiers modifiés avec 78 ajouts et 0 suppressions
  1. 18 0
      25/12/944.cpp
  2. 35 0
      25/12/comp/20q1.cpp
  3. 25 0
      25/12/comp/20q2.cpp

+ 18 - 0
25/12/944.cpp

@@ -0,0 +1,18 @@
+#include <string>
+#include <vector>
+
+class Solution {
+public:
+    int minDeletionSize(std::vector<std::string>& strs) {
+        int ans = 0;
+        for(int i = 0;i<strs[0].size();i++){
+            for (int j = 1; j < strs.size(); j++) {
+                if (strs[j][i] < strs[j-1][i]) {
+                    ans++;
+                    break;
+                }
+            }
+        }
+        return ans;
+    }
+};

+ 35 - 0
25/12/comp/20q1.cpp

@@ -0,0 +1,35 @@
+#include <unordered_map>
+
+class Solution {
+public:
+    int minOperations(std::vector<int>& nums) {
+        std::unordered_map<int, int> m;
+        int count = 0;
+        for(auto num: nums){
+            m[num] ++;
+            if (m[num] > 1) {
+                count++;
+            }
+        }
+        if(count == 0){
+            return 0;
+        }
+        int ans = 0;
+        for (int i = 0; i<nums.size(); i++) {
+            if (m[nums[i]] > 1) {
+                m[nums[i]]--;
+                count--;
+            }
+            if ((i + 1) % 3 == 0) {
+                ans++;
+            }
+            if (count == 0) {
+                if ((i + 1) % 3 != 0) {
+                    ans++;
+                }
+                break;
+            }
+        }
+        return ans;
+    }
+};

+ 25 - 0
25/12/comp/20q2.cpp

@@ -0,0 +1,25 @@
+#include <algorithm>
+#include <immintrin.h>
+#include <numeric>
+#include <vector>
+
+class Solution {
+public:
+  int maximumSum(std::vector<int> &nums) {
+    int n = nums.size();
+    int ans = 0;
+    std::vector<int> b[3];
+    for (auto num : nums)
+      b[num % 3].push_back(num);
+    for (int i = 0; i < 3; i++) {
+      std::sort(b[i].begin(), b[i].end(), [](int a, int b) { return a > b; });
+      if (b[i].size() >= 3) {
+        ans = std::max(std::reduce(b[i].begin(), b[i].begin() + 3), ans);
+      }
+    }
+    if (b[0].size() && b[1].size() && b[2].size()) {
+      ans = std::max(ans, b[0][0] + b[1][0] + b[2][0]);
+    }
+    return ans;
+  }
+};

备用站点 当前处于降级运行的备用站点,仅供应急访问,数据和功能可能不是最新。