原创 劍指Offer(面試題4-1)——二維數組中的查找

劍指 Offer——面試題 4-1 題目 在一個二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。 請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。 樣例 輸入數組:

原创 動態規劃(一)——從爬樓梯問題簡單理解dp

動態規劃 ​ 今天來談一談我對動態規劃的理解,我也是初學者,這裏只是通過爬樓梯這道簡單的問題,介紹一下動態規劃的核心思想和基於這道題的 DP 分析 dp 思想 ​ 動態規劃(一下簡稱 dp)是一種將多個階段的問題分解成一系列

原创 面試題——包含min函數得棧

AcWing 41 包含 min 函數得棧 題目 設計一個支持push,pop,top等操作並且可以在O(1)時間內檢索出最小元素的堆棧。 push(x)–將元素x插入棧中 pop()–移除棧頂元素 top()–得到棧頂元素 g

原创 算法——前綴和及差分

前綴和及差分 ​ 前綴和與差分是互爲逆運算的兩種計算方式,前綴和指的是一個數組是另一個數組中前n項元素之和,而差分指的是一個數組的前n項的和是另一個數組 ​ 實際上就是,如果數組a是數組b的前綴和,那b就是a的差分 前綴和

原创 SpringBoot——SpringBoot自動配置原理(2-2-5版本)

SpringBoot 自動配置原理 ​ 作爲 SpringBoot 的精髓,自動配置是“習慣優於配置”理念的體現,瞭解 SpringBoot 自動配置的原理也是學習 SpringBoot 過程中不可繞開的重要內容 從啓動類開始

原创 JAVA基礎——使用cglib實現動態代理

JAVA 代理模式 ​ 簡而言之,代理是一種通過創建代理對象的方式,從而實現對被代理對象實現功能增強的一種方式,JAVA 中有靜態和動態兩種代理,動態代理又可以分爲基於接口的動態代理(JDK 實現)和基於子類的動態代理(cgli

原创 Spring框架——Autowired註解用法詳解

Spring 框架中的 @Autowired 註解 ​ 在使用註解進行 Spring 項目的開發時,我們經常會用到Autowired註解,它可以對類成員變量、方法及構造函數進行標註,完成IOC容器自動裝配的工作 如何使用 ​

原创 面試題——移掉k位數字

AcWing 1453 移掉 k 位數字 題目 給定一個以字符串表示的非負整數num,移除這個數中的k位數字,使得剩下的數字最小 注意: 空字符串被視爲0 如果結果中包含前導零,則需要將前導零刪除,最後刪除的前導零不用包含在移除

原创 HashMap——HashMap中的indexFor方法

HashMap 中如何確定元素的位置 ​ 衆所周知,在 jdk 1.7 中,HashMap 底層是由數組 + 鏈表的方式實現的,那我們在使用 HashMap 的時候,是如何將我們的 key-value put 到 HashMap

原创 面試題——最長上升字串

AcWing 1490 最長上升子串 題目 ​ 給出一個長度爲n的由正整數構成的序列,你需要從中刪除一個正整數,很顯然你有很多種刪除方式,你需要對刪除這個正整數以後的序列求其最長上升子串,請問在所有刪除方案中,最長的上升子串長度是

原创 算法——使用單調隊列解決滑動窗口問題

滑動窗口 給定一個大小爲n≤106的數組。 有一個大小爲k的滑動窗口,它從數組的最左邊移動到最右邊。 您只能在窗口中看到k個數字。 每次滑動窗口向右移動一個位置。 以下是一個例子: 該數組爲[1 3 -1 -3 5 3 6 7],

原创 算法——簡單理解並查集

什麼是並查集 ​ 並查集是一種樹形的數據結構,,用於處理一些不想交集合的合併即查詢問題,我們可以通過並查集以接近O(1)的時間完成兩個不相交集合的合併,並且以O(1)的時間判斷一個元素屬於哪個集合 理解並查集 ​ 假設我們有

原创 劍指Offer(面試題3)——數組中的重複數字

劍指 Offer——面試題 3 題目 找出數組中的重複數字 在一個長度爲n的數組裏的所有數字都在0 ~ n - 1的範圍內,數組中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次,請找出數組中任意一個重複的數

原创 面試題——尋找矩陣中的極小值

AcWing 1452 尋找矩陣的極小值 題目 給定一個n×n的矩陣,矩陣中包含n×n個_互不相同_的整數。 定義極小值:如果一個數的值比與它相鄰的所有數字的值都小,則這個數值就被稱爲極小值。 一個數的相鄰數字是指其上下左右四個方

原创 SpringMVC——什麼是SpringMVC,第一個SpringMVC程序

什麼是 SpringMVC? ​ SpringMVC 是一種基於 Java 實現的 MVC 設計模式的請求驅動類型的輕量級 web 框架,使用了 MVC 架構模式的思想,將 web 層進行職責解耦,基於請求驅動指的就是使用請求-