mirror of
https://github.com/lWolvesl/leetcode.git
synced 2026-01-12 18:08:38 +08:00
251112
This commit is contained in:
BIN
.cache/clangd/index/2654.cpp.D86F9D5EF67901DE.idx
Normal file
BIN
.cache/clangd/index/2654.cpp.D86F9D5EF67901DE.idx
Normal file
Binary file not shown.
34
25/11/2654.cpp
Normal file
34
25/11/2654.cpp
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
#include <algorithm>
|
||||||
|
#include <vector>
|
||||||
|
#include <numeric>
|
||||||
|
|
||||||
|
int minOperations(std::vector<int>& nums) {
|
||||||
|
int gcd_min = 0;
|
||||||
|
int n = nums.size();
|
||||||
|
int count = 0;
|
||||||
|
for (auto num : nums) {
|
||||||
|
gcd_min = std::gcd(gcd_min, num);
|
||||||
|
count += num == 1;
|
||||||
|
}
|
||||||
|
if (gcd_min > 1) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (count) return n - count;
|
||||||
|
|
||||||
|
int min_size = n;
|
||||||
|
for(int i = 0;i<n;i++){
|
||||||
|
int g = 0;
|
||||||
|
for (int j = i; j < n; j++) {
|
||||||
|
g = std::gcd(g,nums[j]);
|
||||||
|
if(g == 1){
|
||||||
|
min_size = std::min(min_size,j-i);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return min_size + n - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(){
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user