冲阿!打工人! level
获赞
107
粉丝
8
关注
12
看过 TA
49
门头沟学院
2022
Java
IP属地:广东
Work hard
私信
关注
2021-09-22 16:34
门头沟学院 Java
求助大佬们第三题: 给定一个整数n,得到一个数组 [1, 2, ...., n],通过这个数组来生成二次搜索树,求最多可以生成多少棵不同的二次搜索树,返回棵树
花椒茴香:背包容量第一题二分做出来了 public long Solve(int n, int m, int[] weights) { // write code here int max = -1; long sum = 0; for (int i = 0; i < weights.length; i++) { if(weights[i]>max){ max = weights[i]; } sum += weights[i]; } long start = Math.max(max,sum/m); long end = sum; long mid = (start+end)/2; while(start<end){ mid = (start+end)/2; if(canHave(m,n,weights,mid)){ end = mid; }else{ start = mid + 1;mid = mid + 1; }} return mid; } private boolean canHave(int m,int n,int[] weights,long k){ int leftNum = m-1;long leftWeight = k; for (int j = 0; j < weights.length; j++) { if(leftWeight>= weights[j]){ leftWeight -= weights[j]; }else{ leftNum--;leftWeight = k;leftWeight -= weights[j]; } } if(leftNum>=0){return true;} return false; }
投递虾皮信息等公司10个岗位 >
0 点赞 评论 收藏
分享
2021-09-13 22:15
门头沟学院 Java
0 点赞 评论 收藏
分享
2021-08-15 16:24
门头沟学院 Java
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务