当前位置:   article > 正文

48天笔试训练错题——day17

48天笔试训练错题——day17

目录

选择题

1.

2.

3.

编程题

1. 杨辉三角的变形


选择题

1.

2.

alter 是用来操作表字段的。

3.

题目说了保证所有操作完成,回滚就所有操作取消,那就是事务的原子性。

编程题

1. 杨辉三角的变形


按照这个写会超内存,看了题解后发现得找规律。 

  1. import java.util.Scanner;
  2. // 注意类名必须为 Main, 不要有任何 package xxx 信息
  3. public class Main {
  4. public static void main(String[] args) {
  5. Scanner in = new Scanner(System.in);
  6. // 注意 hasNext 和 hasNextLine 的区别
  7. while (in.hasNextInt()) { // 注意 while 处理多个 case
  8. int n = in.nextInt();
  9. int m = 2 * n - 1;
  10. int[][] arr = new int[n][m];
  11. // 初始化
  12. for (int i = 0; i < n; i++) {
  13. arr[i][0] = 1;
  14. arr[i][2 * i] = 1;
  15. for (int j = 1; j < 2 * i; j++) {
  16. if (j == 1) {
  17. arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];
  18. } else {
  19. arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1] + arr[i - 1][j - 2];
  20. }
  21. }
  22. }
  23. // 遍历第 n 行,看看是否有偶数
  24. int j = 0;
  25. for (; j < m; j++) {
  26. if (arr[n - 1][j] % 2 == 0) {
  27. System.out.println(j + 1);
  28. break;
  29. }
  30. }
  31. // 遍历完了都没找到偶数
  32. if (j == m) {
  33. System.out.println(-1);
  34. }
  35. }
  36. }
  37. }

如图,从第三行开始才会有偶数,且是 2 3 2 4循环。

代码实现:

  1. import java.util.Scanner;
  2. // 注意类名必须为 Main, 不要有任何 package xxx 信息
  3. public class Main {
  4. public static void main(String[] args) {
  5. Scanner in = new Scanner(System.in);
  6. // 注意 hasNext 和 hasNextLine 的区别
  7. while (in.hasNextInt()) { // 注意 while 处理多个 case
  8. int n = in.nextInt();
  9. if (n < 3) {
  10. System.out.println(-1);
  11. } else {
  12. n -= 2;
  13. if (n % 4 == 1 || n % 4 == 3) {
  14. System.out.println(2);
  15. } else if (n % 4 == 2) {
  16. System.out.println(3);
  17. } else if (n % 4 == 0) {
  18. System.out.println(4);
  19. }
  20. }
  21. }
  22. }
  23. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/864438
推荐阅读
相关标签
  

闽ICP备14008679号