2008iis搭建网站,广州市最新消息,WordPress优化手机端,办公室装修大概多少钱一平方牛客网——美团2024届秋招笔试第三场编程真题 #x1f60d;#x1f60d;#x1f60d; 相知#x1f64c;#x1f64c;#x1f64c; 相识#x1f622;#x1f622;#x1f622; 开始刷题1. 平均数为k的最长连续子数组2. 小球投盒3. 小红结账4. 小美的游戏5. 小美种果树6… 牛客网——美团2024届秋招笔试第三场编程真题 相知 相识 开始刷题1. 平均数为k的最长连续子数组2. 小球投盒3. 小红结账4. 小美的游戏5. 小美种果树6. 小美的数组重排7. 判断ip地址是否合法 相知 刷题不要一上来就直接干先看题明白题说的什么意思然后想一下用什么现成的算法和数据结构可以快速解决如果还是无从下手建议先去看视频不要直接翻评论或官方代码实现看完视频自己在idea中模拟敲几遍代码如果跑通了先别急着上leetcode黏贴而是再回顾一下要点然后确定自己完全懂了后在leetcode中手敲注意是手敲下来 目前我就是采用的这种方法虽然慢但是可以维持一周忘不掉它如果要想长期不忘只能隔段时间就review一下了就算是大牛知道方法长时间不碰也不可能保证一次到位把代码敲完一遍过 相识 本阶段我们要一起学习的是美团2024届秋招笔试第三场编程真题 开始刷题
1. 平均数为k的最长连续子数组 import java.util.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int k sc.nextInt();int ans -1;long pre 0, cur0;MapLong, Integer map new HashMap();map.put(0L, 0);for (int i 1; i n; i) {cur pre sc.nextInt() - k;if (map.containsKey(cur)) ans Math.max(ans, i - map.get(cur));else map.put(cur, i);pre cur;}System.out.println(ans);}
}2. 小球投盒 import java.util.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner in new Scanner(System.in);int a in.nextInt();int b in.nextInt();HashSetInteger hashset new HashSet();for(int i 1;ia;i){hashset.add(i);}for(int i 0;i b;i){int left in.nextInt();int right in.nextInt();if(left 1){if(hashset.contains(right)){hashset.remove(right);}if(hashset.size()0){System.out.print(i1);return;}}else{if(!hashset.contains(right)){System.out.print(i1);return;}hashset new HashSet();hashset.add(right);}}System.out.print(-1);}
}3. 小红结账 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 m in.nextInt();ArrayListLong arraylist new ArrayList();for(int i 0;im;i){arraylist.add(0l);}for(int i 0;in;i){//每张账单int people in.nextInt();int money in.nextInt();long fenmony (long)Math.ceil(money*1.0/(people));for(int j 0;jpeople-1;j){int who in.nextInt();arraylist.set(who-1,fenmony(long)arraylist.get(who-1));}}for(int i 0;iarraylist.size();i){System.out.print(arraylist.get(i));if(i!arraylist.size()-1) System.out.print( );}}
}4. 小美的游戏 import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { long mod 1000000007; Scanner in new Scanner(System.in); int len in.nextInt(); int max_op in.nextInt(); long res 0L; long sum 0L; long[] a new long[len]; for(int i0;ilen;i){ a[i] in.nextInt(); } Arrays.sort(a); int idx len-1; for(int j1;jmax_op;j){ if(a.length2){ long mul (a[idx] * a[idx-1])%mod; a[idx-1] mul; a[idx] 1; idx idx - 1; }else{ res Math.max(res, a[0]); break; } } for(int j0;jlen;j){ sum sum a[j]; } res Math.max(res,sum%mod); System.out.print(res); } }
5. 小美种果树 import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner in new Scanner(System.in);int x in.nextInt();int y in.nextInt();int z in.nextInt();int index 0;//模拟while(true){index;z -x;z -y; if(z0)break;index;z -x;if(z0)break;index;z -x;if(z0)break;}System.out.print(index);}
}6. 小美的数组重排 import java.util.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner in new Scanner(System.in);int q in.nextInt();for (int i 0; i q; i) {int n in.nextInt();int m in.nextInt();int [] a new int[n];for (int j 0; j n; j) {a[j] in.nextInt();}int [] b new int[n];for (int j 0; j n; j) {b[j] in.nextInt();}Arrays.sort(a);Arrays.sort(b);int[] reversedArray new int[n];for (int j 0; j n; j) {reversedArray[j] b[n - 1 - j];}boolean flag false;for(int j 0;jn;j){if(a[j]reversedArray[j]1||a[j]reversedArray[j]m){System.out.println(No);//if(i!n-1)System.out.println();flag true;break;}}if(!flag){System.out.println(Yes);//if(i!n-1)System.out.println();}}}
}7. 判断ip地址是否合法 import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);String addStr scanner.nextLine();//非空if (addStr.equals() || addStr null) {System.out.println(invalid);return;}char c1 addStr.charAt(0);char c2 addStr.charAt(addStr.length() - 1);//4.IP地址不能以点号开始或结束例如.192.168.0.1和192.168.0.1.是非法的。String s1 Character.toString(c1);String s2 Character.toString(c2);String[] strings new String[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };int temp 0;for (String string : strings) {if (string.equals(s1)) {temp;}if (string.equals(s2)) {temp;}}if (temp ! 2) {System.out.println(invalid);return;}//1.IP地址由四个数字组成用点号分隔。String[] split addStr.split(\\.);if (split.length ! 4) {System.out.println(invalid);return;}//3.数字之间没有多余的前导零例如01是非法的。for (String s : split) {if (s.length() 2 Character.toString(s.charAt(0)).equals(0)) {System.out.println(invalid);return;}}for (int i 0; i split.length; i) {//2.每个数字的取值范围是0到255。try {if (Integer.parseInt(split[i]) 255) {System.out.println(invalid);return;}} catch (NumberFormatException e) {System.out.println(invalid);return;}}int address1 Integer.parseInt(split[0]);int address2 Integer.parseInt(split[1]);int address3 Integer.parseInt(split[2]);int address4 Integer.parseInt(split[3]);if (address1 126 address1 0 || address1 126 address2 0 address3 0 address4 0) {System.out.println(A_address);} else if (address1 128 address1 191) {System.out.println(B_address);} else if (address1 192 address1 223) {System.out.println(C_address);} else {System.out.println(other);}}
}