class Solution {
public:
vector<double> convertTemperature(double celsius) {
vector<double> vec;
double f = celsius + 273.15;
double s = celsius *1.80 + 32.00;
vec.push_back(f);
vec.push_back(s);
return vec;
}
};
B
class Solution {
public:
int subarrayLCM(vector<int>& nums, int p) {
int ans = 0;
int n = nums.size();
for(int i = 0; i < n; i++){
int t = nums[i];
for(int j = i; j < n; j++){
t = t * nums[j] / gcd(t, nums[j]);
if(t > p) break;
if(t == p){
ans++;
}
}
}
return ans;
}
};
C
int gao(vector<int> &A) {
// 求每个元素的目标位置
vector<int> B = A;
sort(B.begin(), B.end());
unordered_map<int, int> mp;
for (int i = 0; i < B.size(); i++) mp[B[i]] = i;
int ret = 0;
for (int i = 0; i < A.size(); i++) {
// 不断将 A[i] 交换到目标位置,直到 A[i] = B[i]
// 注意别写成 if 了
while (A[i] != B[i]) {
swap(A[i], A[mp[A[i]]]);
ret++;
}
}
return ret;
}
int minimumOperations(TreeNode* root) {
queue<TreeNode*> que;
vector<int> vec;
que.push(root);
int ans = 0;
while(!que.empty()){
int size = que.size();
vec.clear();
while(size--){
TreeNode* t = que.front();
que.pop();
vec.push_back(t ->val);
if(t ->left) que.push(t ->left);
if(t ->right) que.push(t ->right);
}
ans +=gao(vec);
}
return ans;
}