四道经典算法JAVA

1.爬楼地

爬20个台阶的爬法:=f(19)+f'(18)

经典斐波拉契数列问题 

public class demo4 {//爬楼梯问题public static void main(String[] args) {System.out.println(getSum(20));}public static int getSum(int n) {if (n == 1)return 1;if (n == 2)return 2;return getSum(n - 1) + getSum(n - 2);}
}

2.按照要求排序问题

package lx;import java.util.Arrays;
import java.util.Comparator;public class demo1 {public static void main(String[] args) {Girlfriend g1 = new Girlfriend("zhangsan", 18, 90);Girlfriend g2 = new Girlfriend("lisi", 19, 100);Girlfriend g3 = new Girlfriend("wangwu", 20, 110);//定义数组存储对象Girlfriend[] arr = {g1, g2, g3};// Arrays.sort(arr, new Comparator<Girlfriend>() {/* public int compare(Girlfriend o1, Girlfriend o2) {//按照年龄的大小进行比较,年龄一样,按照身高比较,身高一样按照姓名的字母比较double tmp = o1.getAge() - o2.getAge();tmp = tmp == 0 ? o1.getHeight() - o2.getHeight() : tmp;tmp = tmp == 0 ? o1.getName().compareTo(o2.getName()) : tmp;if (tmp < 0) {return -1;} else if (tmp > 0) {return 1;} elsereturn 0;}});*///lambda表达式//()->{}//():对应抽象方法的形参//{}:方法体Arrays.sort(arr, (o1, o2) -> {//按照年龄的大小进行比较,年龄一样,按照身高比较,身高一样按照姓名的字母比较double tmp = o1.getAge() - o2.getAge();tmp = tmp == 0 ? o1.getHeight() - o2.getHeight() : tmp;tmp = tmp == 0 ? o1.getName().compareTo(o2.getName()) : tmp;if (tmp < 0) {return -1;} else if (tmp > 0) {return 1;} elsereturn 0;});System.out.println(Arrays.toString(arr));}
}

女朋友类

package lx;public class Girlfriend {private String name;private int age;private int height;public Girlfriend(String name, int age, int height) {this.name = name;this.age = age;this.height = height;}public Girlfriend() {}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getHeight() {return height;}public void setHeight(int height) {this.height = height;}@Overridepublic String toString() {return "Girlfriend{" +"name='" + name + '\'' +", age=" + age +", height=" + height +'}';}
}

3.兔子问题(斐波拉契数列)

package lx;public class demo2 {public static void main(String[] args) {//斐波那契数列int[] arr = new int[12];arr[0] = 1;arr[1] = 1;for (int i = 2; i < arr.length; i++) {arr[i] = arr[i - 1] + arr[i - 2];}System.out.println(arr[11]);}
}

4.猴子吃桃问题

package lx;public class demo3 {public static void main(String[] args) {//猴子偷桃问题/*有一堆桃子,猴子第一天吃了其实一半,并且多吃了一个!以后每天猴子都吃当前剩下来的一半,然后多吃一个第10天的时候(还没有吃),发现就剩下一个桃子,请问最初总共多少个桃子day10 1;day9=(day10+1)*2 4day8=(day9+1)*2  10每一天的桃子的数量都是后一天数量+1,*2*///method01();/*1.出口day==10 剩下一个2. 规律每一天的桃子的数量都是后一天数量+1,*2*/System.out.println(getCount(1));}public static int getCount(int day) {if (day <= 0 || day >= 11) {System.out.println("当前时间错误");return -1;}//出口if (day == 10) {return 1;} else {// 每一天的桃子的数量都是后一天数量+1,*2return (getCount(day + 1) + 1) * 2;}}private static void method01() {int day = 0;int x = 1;int y = 0;for (day = 9; day >= 1; day--) {y = (x + 1) * 2;x = y;}System.out.println(y);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/43723.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot:SpringBoot中如何实现对Http接口进行监控

一、前言 Spring Boot Actuator是Spring Boot提供的一个模块&#xff0c;用于监控和管理Spring Boot应用程序的运行时信息。它提供了一组监控端点&#xff08;endpoints&#xff09;&#xff0c;用于获取应用程序的健康状态、性能指标、配置信息等&#xff0c;并支持通过 HTTP …

jdk1.8 ConcurrentHashMap 源码分析

ConcurrentHashMap 1.8 使用synchronized 和CAS 实现 记住&#xff1a;1.8没有分段锁不要混淆了&#xff0c;分段锁是1.7中的 final V putVal(K key, V value, boolean onlyIfAbsent) {if (key null || value null) throw new NullPointerException();//计算hashint hash…

关于Python的类的一些理解

才发现python的类对象只能调用类方法 我想使用对类对象a使用系统调用的len方法就会报错 2.类对象a是什么&#xff1f; 答&#xff1a;是所有的带有self的成员变量 举例说明&#xff1a;红色的就是a里面的东西 class A:def __init__(self,data):self.datadataself.b1self.d{a…

发表EI会议论文-对考研生和研究生都有好处!

EI论文对考研和保研的帮助主要体现在以下几个方面&#xff1a; 对考研的帮助 1.复试加分&#xff1a;在考研过程中&#xff0c;复试阶段是关键&#xff0c;拥有EI论文可以证明考生具备一定的科研能力&#xff0c;给考官留下深刻印象&#xff0c;有助于提高复试通过率。 2.学…

解读‘‘不要卷模型,要卷应用‘‘

前言 2024 年 7 月 4 日&#xff0c;世界人工智能大会暨人工智能全球治理高级别会议全体会议在上海世博中心举行。百度创始人李彦宏在产业发展主论坛上发言&#xff0c;呼吁不要卷模型&#xff0c;要卷应用。 目录 四个要点 积极的观点 不合理性 总结 四个要点 李彦宏的呼吁…

多模态:Nougat详解

文章目录 前言一、模型结构1. encoder2. decoder3. set 二、数据增强三、数据splitting the pages 四、实验评估repetitions during inference 五、代码1. 环境安装2. Dataset&#xff08;dataset.py&#xff09;3. Model&#xff08;model.py&#xff09; 总结 前言 科学知识…

一网统管/视频汇聚/安防监控平台EasyCVR启动后无法访问是什么原因?

智慧城市/一网统管/视频汇聚/安防监控平台EasyCVR兼容性强&#xff0c;支持多协议接入&#xff0c;包括国标GB/T 28181协议、GA/T 1400协议、部标JT808协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为SDK、宇视SDK、乐橙SDK、萤石云SDK等&#xff0c;并能对外分…

接口测试课程结构

课程大纲 如图&#xff0c;接下来的阶段课程&#xff0c;依次专项讲解如下专题&#xff0c;能力级别为中级&#xff0c;进阶后基本为中高级&#xff1a; 1.接口基础知识&#xff1b; 2.抓包工具&#xff1b; 3.接口工具&#xff1b; 4.mock服务搭建&#xff08;数据模拟服务&am…

虚拟化技术的标准化

虚拟化技术的标准化是一个复杂而系统的过程&#xff0c;它旨在通过制定统一的接口、协议和规范来确保不同虚拟化产品之间的兼容性和互操作性。以下是虚拟化技术标准化的一些具体步骤&#xff1a; 1. 需求分析与标准制定 需求收集&#xff1a;首先&#xff0c;需要广泛收集来自…

Git使用——首次创建本地仓库、配置、初始化、关联远程仓库

1、安装 Git软件 官网&#xff1a;git-scm.com 有时候官网打不开&#xff0c;这里留存个之前下载过的安装包&#xff1a; https://download.csdn.net/download/weixin_43908355/89502977 2、配置本地仓库 在准备建仓库的文件夹里&#xff0c;右键点击&#xff1a;Git Bash …

鸿蒙系统创建签名文件及使用创建签名文件打包并安装

* 第一步 第二步&#xff1a;创建.p12文件&#xff0c;点击New如果有的话就Choose Existing 填好下面信息 点击Next进入到下面界面 开始生成csr文件如下图 点击OK–>Finish 文件保存在了下面目录 第三步 1.访问华为开发者平台&#xff0c;登录开发者账号&#xff0c;进…

【linux服务器篇】-Redis-RDM远程连接redis

redis desktop manager 使用远程连接工具RDM连接redis 市面上比较常见的其中一款工具redis desktop manager 简单的说&#xff1a; Redis Desktop Manager 简单的来讲就是Redis可视化工具&#xff0c;可以让我们看到Redis中存储的内容。 redis desktop manager是一款功能强…

环境构建大师:精通Conda中的conda create命令

环境构建大师&#xff1a;精通Conda中的conda create命令 引言 Conda是一个开源的包管理系统和环境管理系统&#xff0c;广泛用于Python和其他科学计算语言的依赖管理。conda create命令是Conda中最核心的命令之一&#xff0c;它允许用户快速创建新的隔离环境&#xff0c;确保…

金丝雀部署的艺术:在Eureka中实现渐进式服务更新

金丝雀部署的艺术&#xff1a;在Eureka中实现渐进式服务更新 引言 在微服务架构中&#xff0c;金丝雀部署是一种逐渐将新版本的服务引入生产环境的策略&#xff0c;以测试新版本在小规模用户群中的表现&#xff0c;并减少更新风险。Eureka作为Netflix开源的服务发现框架&…

【面试八股总结】面向对象三大特性、虚函数、纯虚函数、虚继承

参考资料&#xff1a;阿秀 一、面向对象三大特性 封装&#xff1a;将数据和代码捆绑在一起&#xff0c;避免外界干扰和不确定性访问 继承&#xff1a;让某种类型对象获得另一个类型对象的属性和方法 多态&#xff1a;同一种事务表现出不同事务的能力&#xff0c;即&#xf…

红黑树,B+树,B树的结构原理及对比

红黑树 结构原理&#xff1a; 红黑树是一种自平衡的二叉搜索树&#xff0c;它通过在每个节点上增加一个颜色属性&#xff08;红色或黑色&#xff09;来确保树的平衡性。红黑树的平衡是通过一系列旋转和重新着色操作来实现的&#xff0c;这些操作在插入、删除节点时进行&#…

数据库课设---学生宿舍管理系统(sql server+C#)

1.引言 1.1 内容及要求 设计内容&#xff1a;设计学生宿舍管理系统。 设计要求&#xff1a; &#xff08;1&#xff09;数据库应用系统开发的需求分析&#xff0c;写出比较完善系统功能。 &#xff08;2&#xff09;数据库概念模型设计、逻辑模型设计以及物理模型设计。 …

yolov8 人体姿态识别

引言 在计算机视觉的各种应用中&#xff0c;人体姿态检测是一项极具挑战性的任务&#xff0c;它能够帮助我们理解人体各部位的空间位置。本文将详细介绍如何使用 YOLOv8 和 Python 实现一个人体姿态检测系统&#xff0c;涵盖模型加载、图像预处理、姿态预测到结果可视化的全流…

Echarts水球图(liquidFill)添加文字

效果 代码 {type: liquidFill,shape: shapes[0].value,radius: 90%,data: [{name: 独立百货,value: 0}],center: [50%, 50%],color: [{type: linear,x: 0,y: 0,x2: 0,y2: 1,colorStops: [{offset: 0,color: #446bf5},{offset: 1,color: #2ca3e2}],globalCoord: false}],backgro…

JSP实现简单的登录和注册

JSP实现登录和注册&#xff08;Map集合模拟数据库&#xff09; 1、login.jsp2、 loginSelect.jsp3、register.jsp4、 RegisterSelect.jsp5、 index.jsp 1、login.jsp login.jsp中username和password在LoginSelect.jsp验证是否一致使用session.setAttribute("login_msg&quo…