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

相关推荐
Java牛马2 小时前
SpringBoot Starter 依赖相关总结
java·spring·springboot·starter·自动装配·依赖
吴声子夜歌2 小时前
Java面试——Spring Cloud原理及应用(二)
java·spring cloud·面试
xian_wwq2 小时前
【学习笔记】-深度认知系列-第2讲-大模型到底是什么?——拆解“参数、训练、推理”
笔记·学习·深度认知
东小西2 小时前
【SAA实战】第 1 篇:ReactAgent 入门——先撸个"会调工具的助手"跑起来
java·人工智能·spring
mqiqe3 小时前
AgentScope Java 2.0 协议集成全景解析:A2A、AG-UI、Agent Protocol 三大开放协议实战指南
java·开发语言·ui
lzhdim3 小时前
12、JavaScript常见的内存泄露问题 - JavaScript学习系列文章
开发语言·前端·javascript·学习·ecmascript
脉动数据行情3 小时前
Java 实现台股 TWSE/TPEx 行情采集(个股 + K 线)
java·开发语言·twse·tpex·台股
那年窗外下的雪.5 小时前
AIDC 学习日志|第 15 天|EVPN 多归属故障收敛与撤销机制
网络·学习·php
月华路5 小时前
G1 GC 对数组与大对象(Humongous)的处理
java·jvm·算法
M78佐菲6 小时前
Linux学习笔记:进程
linux·笔记·学习·算法