第三题 public class test8 {     public static void main(String[] args) {         // TODO Auto-generated method stub         Scanner scanner = new Scanner(System.in);         int n = scanner.nextInt();         int[] array = new int[n];         for (int i = 0; i < n; i++) {             array[i] = scanner.nextInt();         }                      List<List<Integer>> list = new ArrayList<>();         backtrack(list, new ArrayList<>(), array);                  for (List<Integer> list2 : list) {             for (Integer integer: list2) {                 System.out.print(integer);             }             System.out.println();         }        }         public static void backtrack(List<List<Integer>> list, List<Integer> templist, int[] nums){             if (templist.size() == nums.length) {                 list.add(new ArrayList<>(templist));// 符合条件的加入进去             }             else {                 for (int i = 0; i < nums.length; i++) {                     if (templist.contains(nums[i])){ // 这个判断是否包含重复 也是及其精妙啊                         continue;                     }                     templist.add(nums[i]);                     backtrack(list, templist, nums);                     templist.remove(templist.size() - 1);                 }             }         } } 第一题 public class test6 {     public static void main(String[] args) {         // TODO Auto-generated method stub         Scanner scanner = new Scanner(System.in);         String string = scanner.nextLine();                  Set<String> set = new HashSet<>();         char[] chars = string.toCharArray();         int l = 0;         int r = 0;         for (int i = 0; i < string.length(); i++) {             while (chars[r] < '0' || chars[r] > '9') {                 l++;                 r++;             }             StringBuilder stringBuilder = new StringBuilder();             while (chars[r] >= '0' && chars[r] <= '9') {                 stringBuilder.append(chars[r++]);                 if (r >= string.length()) {                     break;                 }             }             set.add(stringBuilder.toString());             i = r - 1;         }         int res = Integer.MIN_VALUE;         for (String s : set) {             res = Math.max(res, Integer.valueOf(s));         }         System.out.println(res);     } } 第二题 ,有点bug, 只通过了 16%, 没时间调了, public class test7 {     public static void main(String[] args) {         // TODO Auto-generated method stub         Scanner scanner = new Scanner(System.in);         int n = scanner.nextInt();         int[] array = new int[n];         for (int i = 0; i < n; i++) {             array[i] = scanner.nextInt();         }         if (array.length == 1) {             System.out.println(array[0]);         }         else if (array.length == 2) {             System.out.println(array[0] + "," + array[1]);         }         else {             StringBuilder stringBuilder = new StringBuilder();             for (int i =0; i < array.length; i++) {                 StringBuilder temp = new StringBuilder();                 int start = array[i];                 temp.append(start + "");                 if ((start + 1) < array.length && array[start + 1] - array[start] > 1) {                     stringBuilder.append(array[start] + ",");                 }                 else {                     int temprr = Backing(temp, array, start + 1);                     if (temprr >= 3) {                         String ssss = array[start] + "-" + array[start + temprr - 1] + ",";                         stringBuilder.append(ssss);                     }                     else {                         stringBuilder.append(array[start] + ",");                     }                 }                                  }             System.out.println(stringBuilder.toString());         }     }     public static int Backing(StringBuilder stringBuilder, int[] array, int start) {         stringBuilder.append(array[start] + "");         if ((start + 1) < array.length && array[start + 1] - array[start] > 1) {             return stringBuilder.length();         }         return Backing(stringBuilder, array, start + 1);     } }
点赞 评论

相关推荐

喜欢走神的孤勇者练习时长两年半:爱华,信华,等华,黑华
点赞 评论 收藏
分享
牛客网
牛客企业服务