四道經典算法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.pswp.cn/diannao/43723.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/43723.shtml
英文地址,請注明出處:http://en.pswp.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…