您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
本篇内容介绍了“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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。