您好,登錄后才能下訂單哦!
本篇內容介紹了“Java二叉搜索樹與數組查找的方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
解法
/** * 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 { int ans; int pre; public int minDiffInBST(TreeNode root) { ans = Integer.MAX_VALUE; pre = -1; method(root); return ans; } public void method(TreeNode root){ if(root==null) return; method(root.left); if(pre==-1){ pre = root.val; }else{ ans = Math.min(ans,root.val-pre); pre = root.val; } method(root.right); } }
解法
class Solution { public int dominantIndex(int[] nums) { int f = Integer.MIN_VALUE; int fi = 0; int s = Integer.MIN_VALUE; int si = 0; for(int i = 0; i<nums.length;i++){ if(nums[i]>f){ s = f; f = nums[i]; fi = i; }else if(nums[i]>s){ s = nums[i]; } } if(nums.length==1) return 0; if(2*s<=f) return fi; return -1; } }
解法
class Solution { public int repeatedNTimes(int[] nums) { int n = nums.length/2; HashMap<Integer,Integer> map =new HashMap<Integer,Integer>(); for(int key : nums){ if(map.containsKey(key)){ map.put(key,map.get(key)+1); if(map.get(key)==n){ return key; } }else{ map.put(key,1); } } return 0; } }
解法
class Solution { public boolean uniqueOccurrences(int[] arr) { int[] nums = new int[2000]; for(int i =0;i<arr.length;i++){ nums[arr[i]+1000]+=1; } HashSet<Integer> set =new HashSet<Integer>(); for(int i =0;i<nums.length;i++){ if(nums[i]==0) continue; if(!set.add(nums[i])){ return false; }else{ set.add(nums[i]); } } return true; } }
“Java二叉搜索樹與數組查找的方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。