牛客546512689号 level
获赞
12
粉丝
7
关注
7
看过 TA
228
北京邮电大学
2026
Java
IP属地:北京
暂未填写个人简介
私信
关注
思路感觉很对啊,为啥过不了import java.util.Scanner;import java.util.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别int n = in.nextInt();int[] nums = new int[n];// boolean flag = true;int[][] dp = new int[n][n];for (int i = 0; i < n; i++) {nums[i] = in.nextInt();// System.out.print(nums[i]);}Arrays.sort(nums);// for (int i = 0; i < n; i++) {//     // nums[i] = in.nextInt();//     System.out.print(nums[i]);// }long res = 0;for (int i = 0; i < n; i++) {if (nums[i] != 0)break;for (int j = i; j < n; j++) {if (j == i) {dp[i][j] = nums[i] == 0 ? 1 : 0;} else {if (nums[j] == dp[i][j - 1]) {dp[i][j] = dp[i][j - 1] + 1;} else {dp[i][j] = dp[i][j - 1];}}res += dp[i][j];}}System.out.println(res);}}
投递淘天集团等公司8个岗位
0 点赞 评论 收藏
分享
import java.util.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别int n = in.nextInt();int[][] paos = new int[n][2];Map<Integer, List<Integer>> hmx = new HashMap<>();Map<Integer, List<Integer>> hmy = new HashMap<>();for (int i = 0; i < n; i++) {paos[i][0] = in.nextInt();int x = paos[i][0];paos[i][1] = in.nextInt();int y = paos[i][1];if (!hmx.containsKey(x)) {hmx.put(x,new ArrayList<>());}if (!hmy.containsKey(y)) {hmy.put(y,new ArrayList<>());}hmx.get(x).add(y);hmy.get(y).add(x);}hmx.forEach((k,v)->{Collections.sort(v);//            System.out.println(v);});hmy.forEach((k,v)->{Collections.sort(v);//            System.out.println(v);});for (int[] pao : paos) {int x = pao[0];int y = pao[1];int res = 0;List<Integer> tx = hmx.get(x);List<Integer> ty = hmy.get(y);int len1 = tx.size();int len2 = ty.size();int index1 = 0;int index2 = 0;index1 = bsearch(tx,y);index2 = bsearch(ty,x);if ( index1 - 1 > 0) res++;if (index1 != -1 &&len1-2-index1 >0)res++;if(index2-1>0)res++;if(index2 != -1 &&len2-2-index2>0)res++;System.out.println(res);}}private static int bsearch(List<Integer> list,int num) {int len = list.size();int left = 0, right = len - 1;while (left <= right) {int mid = left + (right-left)/2;if (list.get(mid) == num) {return mid;} else if (list.get(mid) < num) {left = mid + 1;} else {right = mid -1;}}return -1;}}
0 点赞 评论 收藏
分享
2022-03-30 22:02
北京邮电大学 Java
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务