网站模板视频教程,蚌埠市建设学校网站,Wordpress分享到微信图标,美食网站策划书题目 题目链接#xff1a; https://www.nowcoder.com/practice/707d98cee255448c838c76918a702be0
核心 二分查找Java代码
import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定#xff0c;请勿修改#xff0c;直接返回方法规定的值即可…题目 题目链接 https://www.nowcoder.com/practice/707d98cee255448c838c76918a702be0
核心 二分查找Java代码
import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定请勿修改直接返回方法规定的值即可*** param a int整型一维数组* param k int整型* return int整型*/public int cutWood (ArrayListInteger ll, int k) {if (ll null || ll.size() 0) return 0;int[] a new int[ll.size()];for(int i0;ill.size();i){a[i] ll.get(i);}int L 1; //数据合法的情况下长度为1的是最多int R 0;long total 0;for (int i : a) {total i;R Math.max(R, i);}if (total k) return 0;while (L R) {int m L (R - L 1) / 2;long cur binarySearch(a, m);if (cur k) {R m - 1;} else {L m;}}return L;}public long binarySearch(int[] arr, int m) {long cnt 0;for (int i : arr) {cnt i / m;}return cnt;}
}Go代码
package main/*** 代码中的类名、方法名、参数名已经指定请勿修改直接返回方法规定的值即可*** param a int整型一维数组* param k int整型* return int整型*/
func cutWood(a []int, k int) int {if a nil || len(a) 0 {return 0}L : 1 //数据合法的情况下长度为1的时候是能切最多数量的R : 0total : 0for _, t : range a {total tif t R {R t}}if total k {return 0 //数据不合法}for L R {m : L (R-L1)/2cur : binarySearch(a, m)if cur k {R m - 1} else {L m}}return L
}func binarySearch(arr []int, m int) int {cnt : 0for _, t : range arr {cnt t / m}return cnt
}
C代码
class Solution {public:/*** 代码中的类名、方法名、参数名已经指定请勿修改直接返回方法规定的值即可*** param a int整型vector* param k int整型* return int整型*/int cutWood(vectorint a, int k) {if (a.size() 0)return 0;int L 1; //数据合法的情况下长度为1能切到最多数量的k【假设k是变动的】int R 0;int total 0;for (int i 0; i a.size(); i) {int cur a[i];total cur;if (cur R) {R cur;}}while (L R) {int m L (R - L 1) / 2;int cur binarySearch(a, m);if (cur k) {R m - 1;} else {L m;}}return L;}int binarySearch(vectorint arr, int m) {int cnt 0;for (int i 0; i arr.size(); i) {cnt arr[i] / m;}return cnt;}
};