关注
弱鸡的二分查找算法,特别慢,我也不知道怎么过的。 import java.io.*;
import java.math.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int i = 0; i < T; i++) {
int best = 0;
int cur = 0;
int n = sc.nextInt();
ArrayList<Integer> nums = new ArrayList<>();
for (int j = 0; j < n; j++) {
int target = sc.nextInt();
if (j != 0) {
int lower = lower_bound(nums, j, target);
int upper = upper_bound(nums, j, target);
cur += lower;
cur -= j - upper;
nums.add(upper, target);
} else {
nums.add(target);
}
if (cur > best) {
best = cur;
}
}
System.out.printf("%d %d\n", best, cur);
}
}
public static int lower_bound(List<Integer> nums, int size, int target) {
int low = 0, high = size;
while (low < high) {
int mid = (high - low) / 2 + low;
if (nums.get(mid) < target) low = mid + 1;
else high = mid;
}
return low;
}
public static int upper_bound(List<Integer> nums, int size, int target) {
int low = 0, high = size;
while (low < high) {
int mid = (high - low) / 2 + low;
if (nums.get(mid) <= target) low = mid + 1;
else high = mid;
}
return low;
}
}
查看原帖
点赞 2
相关推荐
05-21 16:37
成都信息工程大学 深度学习 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 职场捅娄子大赛 #
371375次浏览 3796人参与
# 找实习你看重大厂光环还是业务方向 #
11878次浏览 89人参与
# 写给毕业5年后的自己 #
13527次浏览 242人参与
# 你的房租占工资的比例是多少? #
29809次浏览 333人参与
# 考研对你找工作产生了哪些影响? #
17492次浏览 152人参与
# 听到哪句话就代表面试稳了or挂了? #
166713次浏览 1345人参与
# 摸鱼打卡站 #
41001次浏览 699人参与
# 什么专业适合考公 #
32378次浏览 207人参与
# 你最满意的offer薪资是哪家公司? #
27553次浏览 149人参与
# 我在牛客求捞 #
74713次浏览 277人参与
# 每人推荐一个小而美的高薪公司 #
74655次浏览 1364人参与
# kpi面有什么特征 #
41779次浏览 333人参与
# 应届生应该先就业还是先择业 #
108521次浏览 629人参与
# vivo求职进展汇总 #
213756次浏览 1352人参与
# 你有哪些缓解焦虑的方法? #
10848次浏览 289人参与
# HR问:你期望的薪资是多少?如何回答 #
43660次浏览 538人参与
# 你觉得技术面多长时间合理? #
95104次浏览 690人参与
# 秋招被确诊为…… #
157998次浏览 715人参与
# 打杂的实习你会去吗? #
112259次浏览 974人参与
# 软开人,秋招你打算投哪些公司呢 #
97648次浏览 925人参与