欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

劍指Offer之Java算法習題精講二叉搜索樹與數(shù)組查找

 更新時間:2022年03月18日 14:57:41   作者:明天一定.  
跟著思路走,之后從簡單題入手,反復去看,做過之后可能會忘記,之后再做一次,記不住就反復做,反復尋求思路和規(guī)律,慢慢積累就會發(fā)現(xiàn)質(zhì)的變化

題目一

?解法

/**
 * 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;
    }
}

到此這篇關(guān)于劍指Offer之Java算法習題精講二叉搜索樹與數(shù)組查找的文章就介紹到這了,更多相關(guān)Java 二叉搜索樹內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mybatis-plus查詢無數(shù)據(jù)問題及解決

    mybatis-plus查詢無數(shù)據(jù)問題及解決

    這篇文章主要介紹了mybatis-plus查詢無數(shù)據(jù)問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • SpringMvc微信支付回調(diào)示例代碼

    SpringMvc微信支付回調(diào)示例代碼

    微信一直是一個比較熱門的詞匯,今天這篇文章主要介紹的是SpringMvc微信支付回調(diào)的示例代碼,對大家開發(fā)微信支付具有一定的參考借鑒價值,下面來一起看看吧。
    2016-09-09
  • Java設(shè)計模式之創(chuàng)建者模式詳解

    Java設(shè)計模式之創(chuàng)建者模式詳解

    這篇文章主要介紹了Java設(shè)計模式之創(chuàng)建者模式詳解,創(chuàng)建者模式,顧名思義,就是提供友好的創(chuàng)建對象的方式?,對象都是?new?出來的,但是在一些情況下,這種方式不是很友好,首先,它不夠直觀,需要的朋友可以參考下
    2023-08-08
  • Java基礎(chǔ)知識精通數(shù)組的內(nèi)存分析

    Java基礎(chǔ)知識精通數(shù)組的內(nèi)存分析

    數(shù)組對于每一門編程語言來說都是重要的數(shù)據(jù)結(jié)構(gòu)之一,當然不同語言對數(shù)組的實現(xiàn)及處理也不盡相同。Java?語言中提供的數(shù)組是用來存儲固定大小的同類型元素
    2022-04-04
  • MyBatis 動態(tài)拼接Sql字符串的問題

    MyBatis 動態(tài)拼接Sql字符串的問題

    MyBatis的動態(tài)SQL,解決了SQL字符串拼接的痛苦。下文分步驟給大家詳細介紹了MyBatis 動態(tài)拼接Sql字符串的問題,非常不錯,感興趣的朋友一起看下吧
    2016-08-08
  • Java語言class類用法及泛化(詳解)

    Java語言class類用法及泛化(詳解)

    這篇文章主要介紹了Java語言class類用法及泛化(詳解),大家都知道Java程序在運行過程中,對所有的對象今夕類型標識,也就是RTTI。這項信息記錄了每個對象所屬的類,需要的朋友可以參考下
    2015-07-07
  • Java多線程中sleep和wait區(qū)別

    Java多線程中sleep和wait區(qū)別

    本文主要介紹了Java多線程中sleep和wait區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • Logger.getLogger()與LogFactory.getLog()的區(qū)別詳解

    Logger.getLogger()與LogFactory.getLog()的區(qū)別詳解

    LogFactory來自common-logging包。如果用LogFactory.getLog,你可以用任何實現(xiàn)了通用日志接口的日志記錄器替換log4j,而程序不受影響
    2013-09-09
  • sun?unsafe類功能及使用注意事項詳解

    sun?unsafe類功能及使用注意事項詳解

    這篇文章主要為大家介紹了unsafe類的功能及在使用中需要注意的事項詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-01-01
  • Java多線程并發(fā)編程 Synchronized關(guān)鍵字

    Java多線程并發(fā)編程 Synchronized關(guān)鍵字

    現(xiàn)有一成員變量 Test,當線程 A 調(diào)用 Test 的 synchronized 方法,線程 A 獲得 Test 的同步鎖,同時,線程 B 也去調(diào)用 Test 的 synchronized 方法,此時線程 B 無法獲得 Test 的同步鎖,必須等待線程 A 釋放 Test 的同步鎖才能獲得從而執(zhí)行對應(yīng)方法的代碼
    2017-05-05

最新評論