DAY20200630

    技术2022-07-12  71

    /** * 求和最大子序列 * int[] nums = {1, 3, -5, 4, 5, 6, -10, 100, 20, -40}; */ public class Test01 { public static void main(String[] args) { int[] nums = {-6, 1, 3, -5, 4, 5, 6, -10, 100, 20, -40}; int max = 0; // 最大和 int start = 0; // 序列开始下标 int end = 0; // 序列结束下标 for (int i = 0; i < nums.length - 1; i++) { int sum = 0; // 子序列的和 for (int j = i; j < nums.length; j++) { sum += nums[j]; if (max < sum) { max = sum; start = i; end = j; } } } System.out.print("和最大子序列:"); for (int i = start; i <= end; i++) { System.out.print(nums[i] + " "); } System.out.println(); System.out.println("和:" + max); System.out.println(start); System.out.println(end); } } /** * 用一个数组,表示学生的成绩 * 语文 数学 英语 * 张三 {80, 90, 100} * 李四 {60, 95, 70} * 。。。。。。 * 输出结果 * 语文 数学 英语 总分 * 张三 80 90 100 。。 * 李四 60 95 70 。。 * 。。。。。。。。。。。。。 * 平均分 x x x x */ public class Test02 { public static void main(String[] args) { String[] subject = {"语文", "数学", "英语"}; String[] names = {"张三", "李四"}; double[] avg = new double[4]; int[][] score = {{80, 90, 100}, {60, 95, 70}}; System.out.print("\t\t"); //输出科目 for (String s : subject) { System.out.print(s+"\t"); } //输出分数 System.out.println("总分"); for (int i = 0; i < score.length; i++) { System.out.print(names[i] + "\t"); int sum = 0; for (int j = 0; j < score[i].length; j++) { sum += score[i][j]; avg[j] += score[i][j]; System.out.print(score[i][j] + "\t\t"); } avg[3] += sum; System.out.println(sum); } System.out.print("平均分\t"); for (double v : avg) { System.out.print(v/names.length+"\t"); } } }

    约瑟夫环

    public class Monkey { private int num;//编号 private Monkey nextNum; public Monkey() { } public Monkey(int num) { this.num = num; } public Monkey(int num, Monkey nextNum) { this.num = num; this.nextNum = nextNum; } public int getNum() { return num; } public void setNum(int num) { this.num = num; } public Monkey getNextNum() { return nextNum; } public void setNextNum(Monkey nextNum) { this.nextNum = nextNum; } @Override public String toString() { return "Monkey{" + "num=" + num + ", nextNum=" + nextNum + '}'; } } public class Test03 { public static void main(String[] args) { int num = 9; Monkey m1= new Monkey(1); Monkey last = m1; for (int i = 2; i < 9; i++) { Monkey monkey = new Monkey(i); last.setNextNum(monkey); last = monkey; } last.setNextNum(m1); int n = 5;//报到n的淘汰 int count = 1; Monkey king = m1; while (num>1){ System.out.println(king.getNum()+"号报数,"+count); if(count==n-1){//当前猴子的下一只出列 king.setNextNum(king.getNextNum().getNextNum()); num--; count = 1;//从头报数 }else { count++; } king = king.getNextNum(); } System.out.println("最后留下的是"+king.getNum()); } }
    Processed: 0.011, SQL: 9