原创 算法-棧和隊列的相互轉換

棧和隊列的相互轉換1、兩個棧實現一個隊列2、隊列實現棧 由於兩種方法都很簡單,這裏就不多說了 1、兩個棧實現一個隊列 class MyQueue{ private Stack<Integer> input

原创 算法-二叉樹的恢復

算法-二叉樹的恢復1、二叉樹的性質2、根據前序和中序遍歷結果恢復二叉樹2.1 手動推理2.2 Java實現3、根據中序和後序遍歷結果恢復二叉樹 1、二叉樹的性質 二叉樹是一個極爲重要的數據結構,對它的掌握程度反映了反映了我們數據結

原创 算法-合併區間

算法-合併區間算法-合併區間 算法-合併區間 這題也挺有意思。 力扣(LeetCode56) 給出一個區間的集合,請合併所有重疊的區間。 示例 1: 輸入: [[1,3],[2,6],[8,10],[15,18]] 輸出: [

原创 Android-SparseArray解讀

SparseArray詳細解讀1、SparseArray是什麼2、SparseArray核心代碼註釋 1、SparseArray是什麼 對於Android這樣的移動設備來講,內存的大小至關重要,然而HashMap雖然很強大,但是H

原创 算法-快排思想之 反轉字符串中的元音字母

算法-快排思路之 反轉字符串中的元音字母快排思想之 反轉字符串中的元音字母 快排思想之 反轉字符串中的元音字母 345. 反轉字符串中的元音字母 編寫一個函數,以字符串作爲輸入,反轉該字符串中的元音字母。 示例 1: 輸入:

原创 算法-不同路徑問題

不同路徑問題1、不同路徑(I)1.1 初步解1.2 時間優化2、不同路徑(II) 1、不同路徑(I) 62. 不同路徑 本問題是動態規劃的一個比較經典的題目,和跳臺階問題本質上是一樣的,只是跳的位置不一樣而已。 一個機器人位於

原创 算法-單詞規律

算法-單詞規律單詞規律 單詞規律 290. 單詞規律 給定一種規律 pattern 和一個字符串 str ,判斷 str 是否遵循相同的規律。 這裏的 遵循 指完全匹配,例如, pattern 裏的每個字母和字符串 str 中的

原创 算法-只出現一次的數字(原理講解)

算法-只出現一次的數字1、只出現一次的數字(I)2、只出現一次的數字(II)3、只出現1次的數字(III) 這三道題目也是Leetcode上的,考察的是對位運算的掌握程度。當然用HashMap也是可以做的。這裏只講位運算。 1、只

原创 算法-最大子序列和

算法-最大子序列和 題目描述: 給定一個整數數組 nums ,找到一個具有最大和的連續子數組(子數組最少包含一個元素),返回其最大和。 示例: 輸入: [-2,1,-3,4,-1,2,1,-5,4], 輸出: 6 解釋: 連續

原创 算法-比特位計數

算法-比特位計數1、比特位計數 1、比特位計數 338. 比特位計數 給定一個非負整數 num。對於 0 ≤ i ≤ num 範圍中的每個數字 i ,計算其二進制數中的 1 的數目並將它們作爲數組返回。 示例 1: 輸入: 2

原创 算法-買賣股票問題

算法-買賣股票問題1、買賣股票的最佳時機(I)2、買賣股票的最佳時機(II)3、買賣股票的最佳時機(III) 買賣股票問題是騰訊面試中常遇到的問題,字節有時候也會考察,這裏我將三種買賣股票問題都展示在這裏 1、買賣股票的最佳時機(

原创 算法-缺失的最小正數

算法-缺失的最小正數缺失的最小正數 缺失的最小正數 這道算法題是非常經典的一道題了Leetcode-42,問題描述如下: 給你一個未排序的整數數組,請你找出其中沒有出現的最小的正整數。 示例 1: 輸入: [1,2,0] 輸出:

原创 算法-跳躍遊戲II

算法-跳躍遊戲II跳躍遊戲II 跳躍遊戲II 跳躍遊戲II也是Leetcode上一道經典的題目,難度爲hard,其實可以暴力求解,思路是使用兩個指針,第一個指針指向初始位置,第二個指針指向i+nums[i]位置,在兩個指針間的窗口

原创 算法-優雅的進行二叉樹的後序遍歷

優雅的進行二叉樹的後序遍歷 樹的遍歷是一個常用的操作,分爲遞歸和非遞歸遍歷,經典的遞歸遍歷如下 List<Integer> lists=new ArrayList<>(); /** * 後序遞歸 *

原创 算法-向量路徑最小差值的和(阿里巴巴3.25筆試第一題)

算法-向量路徑最小差值的和1、向量的最小插值和 1、向量的最小插值和 題目來源是阿里3.25下午的筆試題 本來想再過幾天做阿里筆試題,先刷刷題練練手,結果突然在微信羣裏看到,內推後一週內需要參加筆試,否則就會進簡歷池,無奈,只能硬