找builder买地盖新房,需要找买房代理吗?# Living
u*8
1 楼
面试的。真不知道这是如何进的公司。还面试我。
给你一个number,一组数,比如30,50,100(可能更多个数,sorted的),求组合这
些数得到最小的大于target的数。
public int getMin(int[] arr, int target) {
boolean[] dp = new boolean[target + arr[arr.length-1]];
dp[0] = true;
for (int index = arr[0]; index < dp.length; index++ ) {
for (int i = 0; i < arr.length; i++) {
if (index-arr[i] >= 0 && dp[index- arr[i]]) {
dp[index] = true;
if (index>= target)
return index;
break;
}
}
}
return -1;
}
讲了30分钟。。。
当然,我把 if (index>= target)
return index;
一急之下,写到了第2个for的外面,也是错了。但是,ta都没看出来。sigh。
给你一个number,一组数,比如30,50,100(可能更多个数,sorted的),求组合这
些数得到最小的大于target的数。
public int getMin(int[] arr, int target) {
boolean[] dp = new boolean[target + arr[arr.length-1]];
dp[0] = true;
for (int index = arr[0]; index < dp.length; index++ ) {
for (int i = 0; i < arr.length; i++) {
if (index-arr[i] >= 0 && dp[index- arr[i]]) {
dp[index] = true;
if (index>= target)
return index;
break;
}
}
}
return -1;
}
讲了30分钟。。。
当然,我把 if (index>= target)
return index;
一急之下,写到了第2个for的外面,也是错了。但是,ta都没看出来。sigh。