4,1,[2]
1
哈利波特·牛出手一次即可
一辆车可被多次施加魔法
class Solution { public: /** * * @param n int整型 * @param m int整型 * @param x int整型vector * @return int整型 */ int Holy(int n, int m, vector<int>& x) { // write code here int maxV = 0; long long sum = 0; for(int i = 0; i < m; i++){ sum += x[i]; maxV = max(maxV, x[i]); } int count = 0; while(sum < n){ sum += maxV; maxV *= 2; count++; } return count; } };一直选最大的
package NowcodeHuaWei; import java.util.Arrays; public class Solution { public int Holy (int n, int m, int[] x) { // write code here int magic = 0; while(total(x) < n){ int i = maxIndex(x); if(x[i] > n){ return 0; } x[i] *= 2; magic += 1; } return magic; } public static int maxIndex(int[] x){ int max=x[0],min=x[0]; int maxId = 0; for(int i=1;i<x.length;i++){ if(max<x[i]){ max=x[i]; maxId=i; } } return maxId; } public static int total(int[] x){ int sum = 0; for(int i = 0;i < x.length;i++){ sum += x[i]; } return sum; } }
# # # @param n int整型 # @param m int整型 # @param x int整型一维数组 # @return int整型 # class Solution: def Holy(self , n , m , x ): magic = 0 while sum(x) < n: m1 = max(x) i = x.index(m1) x[i] *= 2 magic += 1 return magic # write code here