关注
二分,我上来就是用二分做的,没有用遍历查询,因为我知道网易的题目复杂度卡的很严,能用O(longn)做的O(n)绝对过不了。但是第一次提交也没能AC。我就想到了累加的时候可能超过int所能表示的最大值,换成long型就A了。一下是我的代码,写的很挫,见谅! public class FengShou {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()){
int n = in.nextInt();
long[] arr = new long[n];
long count = 0;
for(int i = 0; i < n; i++){
count += in.nextInt();
arr[i] = count;
}
int m = in.nextInt();
long[] queries = new long[m];
int[] res = new int[m];
for(int i = 0; i < m; i++){
queries[i] = in.nextLong();
}
for(int i = 0; i < m; i++){
if(queries[i] <= arr[n - 1])
res[i] = lower_bound(arr, 0, arr.length, queries[i]);
}
for(int i : res){
System.out.println(i + 1);
}
}
in.close();
}
public static int lower_bound(long[] arr, int begin, int end, long tag){
while(begin < end){
int mid = (begin + end) / 2;
if(arr[mid] < tag){
begin = mid + 1;
}else
end = mid;
}
return begin;
}
/*
test case:
5
2 7 3 4 9
3
1 25 11
* */
}
查看原帖
点赞 2
相关推荐
11-20 00:00
武汉大学 Java 蓝白碗腌萝卜:我9本,现在大二,一直都用C++,略会go,没接触过java。之前用go写过一个聊天室,C++写过一个简易线程池,现在在做WebServer,无竞赛。现在真的挺犹豫要不要直接转java冲后端开发,cpp美名其曰能投的领域很多,实际上生殖隔离太严重,我自己也不确定要专攻哪个方向
前辈有什么建议吗,想明年暑期找个实习
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# OC/开奖 #
197510次浏览 1342人参与
# 材料转码还有必要吗? #
31935次浏览 152人参与
# 百度秋招 #
52825次浏览 389人参与
# 你面试时吹过最大的牛 #
455次浏览 1人参与
# 实习学到最有价值的工作习惯 #
41326次浏览 363人参与
# 蚂蚁求职进展汇总 #
133065次浏览 1209人参与
# 腾讯音乐秋招 #
432014次浏览 4779人参与
# 为了秋招你都做了哪些准备? #
25770次浏览 497人参与
# 滴滴求职进展汇总 #
278403次浏览 2368人参与
# 你知道哪些职场黑话? #
64644次浏览 447人参与
# 材料人,你最希望上岸的是? #
13114次浏览 58人参与
# 哪些行业值得去? #
10991次浏览 63人参与
# 那些年,我收到的‘奇葩’回复 #
29536次浏览 175人参与
# 牛客十周岁生日快乐 #
186038次浏览 1829人参与
# 秋招投简历越早越好吗 #
99626次浏览 839人参与
# 实习需要主动找活干吗? #
56324次浏览 297人参与
# 秋招你经历过哪些无语的事 #
26439次浏览 257人参与
# 你今年的保底offer是哪家 #
145112次浏览 620人参与
# 校招薪资来揭秘 #
96042次浏览 596人参与
# 2022毕业即失业取暖地 #
121448次浏览 710人参与
# CVTE求职进展汇总 #
26477次浏览 327人参与
# 双非本科的出路是什么? #
178724次浏览 1456人参与
360集团公司氛围 394人发布
查看7道真题和解析