4.8学习总结 贪心算法+Stream流

++贪心算法:++

找到局部最优->从而推导全局最优。

Java练习:

++获取随机验证码:++

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;
    }
}

++获取平均数:++

java 复制代码
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流:

java 复制代码
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不能保证存和取的顺序的,只能保证内容不变。

相关推荐
身如柳絮随风扬36 分钟前
Java中的CAS机制详解
java·开发语言
风筝在晴天搁浅2 小时前
hot100 78.子集
java·算法
故事和你913 小时前
sdut-Java面向对象-06 继承和多态、抽象类和接口(函数题:10-18题)
java·开发语言·算法·面向对象·基础语法·继承和多态·抽象类和接口
Configure-Handler3 小时前
buildroot System configuration
java·服务器·数据库
:Concerto4 小时前
JavaSE 注解
java·开发语言·sprint
电商API_180079052475 小时前
第三方淘宝商品详情 API 全维度调用指南:从技术对接到生产落地
java·大数据·前端·数据库·人工智能·网络爬虫
一点程序5 小时前
基于SpringBoot的选课调查系统
java·spring boot·后端·选课调查系统
C雨后彩虹5 小时前
计算疫情扩散时间
java·数据结构·算法·华为·面试
2601_949809595 小时前
flutter_for_openharmony家庭相册app实战+我的Tab实现
java·javascript·flutter