千家信息网

Java二叉搜索树与数组查找的方法

发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,本篇内容介绍了"Java二叉搜索树与数组查找的方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!题目
千家信息网最后更新 2025年01月17日Java二叉搜索树与数组查找的方法

本篇内容介绍了"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; if){                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 map =new HashMap();        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 set =new HashSet();        for(int i =0;i

"Java二叉搜索树与数组查找的方法"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0