贪心算法:
找到局部最优->从而推导全局最优。
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不能保证存和取的顺序的,只能保证内容不变。