diff --git a/25/12/comp/21q1.cpp b/25/12/comp/21q1.cpp new file mode 100644 index 0000000..1959301 --- /dev/null +++ b/25/12/comp/21q1.cpp @@ -0,0 +1,10 @@ +#include + +class Solution { +public: + int mirrorDistance(int n) { + std::string s = std::to_string(n); + std::reverse(s.begin(),s.end()); + return std::abs(n - std::stoi(s)); + } +}; \ No newline at end of file diff --git a/25/12/comp/21q2.cpp b/25/12/comp/21q2.cpp new file mode 100644 index 0000000..4b1c7fb --- /dev/null +++ b/25/12/comp/21q2.cpp @@ -0,0 +1,20 @@ +#include +#include +#include + +class Solution { +public: + long long minCost(std::string s, std::vector &cost) { + std::unordered_map m; + int n = cost.size(); + long long sum = 0, ans = LLONG_MAX; + for (int i = 0; i < n; i++) { + m[s[i]] += cost[i]; + sum += cost[i]; + } + for (auto [k, v] : m) { + ans = std::min(ans, sum - v); + } + return ans; + } +}; \ No newline at end of file diff --git a/25/12/comp/21q3.cpp b/25/12/comp/21q3.cpp new file mode 100644 index 0000000..2b7e571 --- /dev/null +++ b/25/12/comp/21q3.cpp @@ -0,0 +1,22 @@ +#include +#include + +class Solution { +public: + int minSwaps(std::vector& nums, std::vector& forbidden) { + std::unordered_map m1,m2; + int n = nums.size(); + for (int i = 0; i < n; i++) + { + m1[nums[i]]++; + m2[nums[i]]++; + } + for(auto [k,v] : m1){ + if (v + m2[k] > n) + { + return -1; + } + } + // ❎未完成 + } +}; \ No newline at end of file