劍指Offer之Java算法習(xí)題精講數(shù)組與二叉樹
題目一
二叉樹題——數(shù)組轉(zhuǎn)二叉樹
根據(jù)給定的數(shù)組按照指定條件轉(zhuǎn)換為高度平衡的二叉搜索樹
具體題目如下
解法
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, TreeNode left, TreeNode right) { * this.val = val; * this.left = left; * this.right = right; * } * } */ class Solution { public TreeNode sortedArrayToBST(int[] nums) { return method(nums,0,nums.length-1); } public TreeNode method(int[] nums,int lf,int rg){ if(lf>rg){ return null; } int mid = lf+(rg-lf)/2; TreeNode root = new TreeNode(nums[mid]); root.left = method(nums,lf,mid-1); root.right = method(nums,mid+1,rg); return root; } }
題目二
數(shù)組題——驗(yàn)證數(shù)組中數(shù)值
根據(jù)給定的數(shù)組驗(yàn)證數(shù)組中數(shù)值是否出現(xiàn)多次
具體題目如下
解法
class Solution { public boolean containsDuplicate(int[] nums) { HashSet<Integer> set = new HashSet<Integer>(); for(int i = 0;i<nums.length;i++){ if(!set.add(nums[i])){ return true; } set.add(nums[i]); } return false; } }
題目三
數(shù)組題——驗(yàn)證數(shù)組中數(shù)值
根據(jù)給定的數(shù)組驗(yàn)證數(shù)組中數(shù)值是否存在重復(fù)
具體題目如下
解法
class Solution { public boolean containsNearbyDuplicate(int[] nums, int k) { Map<Integer, Integer> map = new HashMap<Integer, Integer>(); int length = nums.length; for (int i = 0; i < length; i++) { int num = nums[i]; if (map.containsKey(num) && i - map.get(num) <= k) { return true; } map.put(num, i); } return false; } }
到此這篇關(guān)于劍指Offer之Java算法習(xí)題精講數(shù)組與二叉樹的文章就介紹到這了,更多相關(guān)Java 數(shù)組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 劍指Offer之Java算法習(xí)題精講鏈表與數(shù)組專項(xiàng)訓(xùn)練
- 劍指Offer之Java算法習(xí)題精講鏈表與二叉樹專項(xiàng)訓(xùn)練
- 劍指Offer之Java算法習(xí)題精講二叉樹的構(gòu)造和遍歷
- 劍指Offer之Java算法習(xí)題精講二叉樹專項(xiàng)訓(xùn)練
- 劍指Offer之Java算法習(xí)題精講鏈表與字符串及數(shù)組
- 劍指Offer之Java算法習(xí)題精講二叉搜索樹與數(shù)組查找
- 劍指Offer之Java算法習(xí)題精講數(shù)組與字符串題
- 劍指Offer之Java算法習(xí)題精講字符串與二叉搜索樹
- 劍指Offer之Java算法習(xí)題精講數(shù)組查找與字符串交集
相關(guān)文章
DTO 實(shí)現(xiàn) service 和 controller 之間值傳遞的操作
這篇文章主要介紹了DTO 實(shí)現(xiàn) service 和 controller 之間值傳遞的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02java 中的static關(guān)鍵字和final關(guān)鍵字的不同之處
java 中的static關(guān)鍵字和final關(guān)鍵字的不同之處,需要的朋友可以參考一下2013-03-03Springboot+MDC+traceId日志中打印唯一traceId
本文主要介紹了Springboot+MDC+traceId日志中打印唯一traceId,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10SpringBoot重寫addResourceHandlers映射文件路徑方式
這篇文章主要介紹了SpringBoot重寫addResourceHandlers映射文件路徑方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02java簡單實(shí)現(xiàn)用語音讀txt文檔方法總結(jié)
在本篇文章里小編給大家整理了關(guān)于java簡單實(shí)現(xiàn)用語音讀txt文檔的詳細(xì)方法總結(jié),有需要的朋友們參考下。2019-06-06IntelliJ IDEA 2021 Tomcat 8啟動(dòng)亂碼問題的解決步驟
很多朋友遇到過IntelliJ IDEA 2021 Tomcat 8啟動(dòng)的時(shí)候出現(xiàn)各種奇葩問題,最近有童鞋反映IntelliJ IDEA 2021 Tomcat 8啟動(dòng)亂碼,正好我也遇到這個(gè)問題,下面我把解決方法分享給大家需要的朋友參考下吧2021-06-06Spring注解實(shí)現(xiàn)循環(huán)重試功能(適用場景分析)
這篇文章主要介紹了Spring注解實(shí)現(xiàn)循環(huán)重試功能,本篇主要簡單介紹了Springboot中的Retryable的使用,主要的適用場景和注意事項(xiàng),當(dāng)需要重試的時(shí)候還是很有用的,需要的朋友可以參考下2023-04-04Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之寵物醫(yī)院與商城一體的系統(tǒng)的實(shí)現(xiàn)
這是一個(gè)使用了java+Springboot+Jsp+maven+Mysql開發(fā)的寵物醫(yī)院與商城一體的系統(tǒng),是一個(gè)畢業(yè)設(shè)計(jì)的實(shí)戰(zhàn)練習(xí),具有寵物醫(yī)院和寵物商城該有的所有功能,感興趣的朋友快來看看吧2022-02-02java門禁系統(tǒng)面向?qū)ο蟪绦蛟O(shè)計(jì)
這篇文章主要為大家詳細(xì)介紹了java門禁系統(tǒng)面向?qū)ο蟪绦蛟O(shè)計(jì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01