Weekly Contest
限制 :
1 <= nums.length <= 100
1 <= nums[i] <= 100
1 <= k <= 10
1 <= multiplier <= 5
程式碼:
這題要在 list 當中找最小的值,之後對這個值 * multiplier。重複 k 次。
暴力法就是直接重複 k 次就對了。
class Solution {
public:
vector<int> getFinalState(vector<int>& nums, int k, int multiplier) {
for(int i=0;i<k;i++) {
int min_value = INT_MAX, index = 0;
for(int i=0;i<nums.size();i++) {
if(min_value > nums[i]) {
index = i;
min_value = nums[i];
}
}
nums[index] = multiplier* nums[index];
}
return nums;
}
};
限制 :
2 <= nums.length <= 100
1 <= nums[i] <= 106
程式碼:
class Solution {
public:
bool isEqual(int num1, int num2) {
string str1, str2;
stringstream ch1, ch2;
ch1 << num1;
ch1 >> str1;
ch2 << num2;
ch2 >> str2;
str1 = string(max(str1.size(), str2.size()) - str1.size(), '0') + str1;
str2 = string(max(str1.size(), str2.size()) - str2.size(), '0') + str2;
int diff = 0;
char diff_record[4] = {};
for (int i = 0; i < str2.size(); i++) {
if (str1[i] != str2[i]) {
if (diff >= 2)
return false;
diff_record[diff] = str1[i];
diff_record[diff + 2] = str2[i];
diff++;
}
}
if (diff_record[0] != diff_record[3] || diff_record[1] != diff_record[2])
return false;
return true;
}
int countPairs(vector<int>& nums) {
int result = 0;
for (int i = 0; i < nums.size(); i++) {
for (int j = i + 1; j < nums.size(); j++) {
result += isEqual(nums[i], nums[j]);
}
}
return result;
}
};
限制 :
104
程式碼:
限制 :
104
程式碼:
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up