贪心算法:
找到局部最优->从而推导全局最优。
Java练习:
获取随机验证码:
import java.util.*;
import java.util.function.BiConsumer;
public class test {public static void main(String[] args) {System.out.println(createCode(5));}public static String createCode(int n) {Random r=new Random();String code="";for(int i=0;i<n;i++){int type=r.nextInt(3);switch(type){case 0:code+=r.nextInt(10);break;case 1:char chh1=(char)(r.nextInt(26)+65);code+=chh1;break;case 2:char chh2=(char)(r.nextInt(26)+97);code+=chh2;break;}}return code;}
}
获取平均数:
import java.util.*;
import java.util.function.BiConsumer;
public class test {public static void main(String[] args) {System.out.println(getAvrge(6));//6为学生个数}public static double getAvrge(int number){Scanner sc=new Scanner(System.in);int[] scors=new int[number];for(int i=0;i<scors.length;i++){System.out.println("请输入第"+(i+1)+"个学生的成绩");int score=sc.nextInt();scors[i]=score;}int sum=0;int max=scors[0];int min=scors[0];for(int i=0;i<scors.length;i++){int score=scors[i];sum+=score;if(score>max){max=score;}if(score<min){min=score;}}return 1.0*(sum-max-min)/(scors.length-2);}
}
Stream流:
import java.util.*;
import java.util.function.BiConsumer;
public class test {public static void main(String[] args) {ArrayList<String> list=new ArrayList<>();list.add("张婧仪");list.add("周雨彤");list.add("赵丽颖");list.add("张张");list.add("张凌赫");list.stream().filter(name->name.startsWith("张")).filter(name->name.length()==3).forEach(name->System.out.println(name));/*ArrayList<String> list1=new ArrayList<>();for(String name:list){if(name.startsWith("张")){list1.add(name);}}System.out.println(list1);ArrayList<String> list2=new ArrayList<>();for(String name:list1){if(name.length()==3){list2.add(name);}}System.out.println(list2);*/}
}
最长的那行代码等于注释掉的代码。
HashMap不能保证存和取的顺序的,只能保证内容不变。