原创 劍指offer之數組中重複的數字(C++/Java雙重實現)

1.題目描述 找出數組中重複的數字。 在一個長度爲 n 的數組 nums 裏的所有數字都在 0~n-1 的範圍內。數組中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出數組中任意一個重複的數字。 示

原创 劍指offer之數值的整數次方(C++/Java雙重實現)

1.題目描述 實現函數double Power(double base, int exponent),求base的exponent次方。不得使用庫函數,同時不需要考慮大數問題。 示例 1: 輸入: 2.00000, 10 輸出:

原创 詳解JVM常量池、Class常量池、運行時常量池、字符串常量池(心血總結)

寫在前面:博主是一位普普通通的19屆二本大學生,平時最大的愛好就是聽聽歌,逛逛B站。博主很喜歡的一句話花開堪折直須折,莫待無花空折枝:博主的理解是頭一次爲人,就應該做自己想做的事,做自己不後悔的事,做自己以後不會留有遺憾的事,做

原创 JVM內存進階

寫在前面:博主是一位普普通通的19屆二本大學生,平時最大的愛好就是聽聽歌,逛逛B站。博主很喜歡的一句話花開堪折直須折,莫待無花空折枝:博主的理解是頭一次爲人,就應該做自己想做的事,做自己不後悔的事,做自己以後不會留有遺憾的事,做

原创 劍指offer之數組中出現次數超過一半的數字(C++/Java雙重實現)

1.題目描述 數組中有一個數字出現的次數超過數組長度的一半,請找出這個數字。 你可以假設數組是非空的,並且給定的數組總是存在多數元素。 示例 1: 輸入: [1, 2, 3, 2, 2, 2, 5, 4, 2] 輸出: 2 限制

原创 劍指offer之包含min函數的棧(C++/Java雙重實現)

1.題目描述 定義棧的數據結構,請在該類型中實現一個能夠得到棧的最小元素的 min 函數在該棧中,調用 min、push 及 pop 的時間複雜度都是 O(1)。 示例: MinStack minStack = new MinS

原创 劍指offer之用兩個棧實現隊列(C++/Java雙重實現)

1.問題描述 用兩個棧實現一個隊列。隊列的聲明如下,請實現它的兩個函數 appendTail 和 deleteHead ,分別完成在隊列尾部插入整數和在隊列頭部刪除整數的功能。(若隊列中沒有元素,deleteHead 操作返回

原创 劍指offer之滑動窗口的最大值(C++/Java雙重實現)

1.問題描述 給定一個數組 nums 和滑動窗口的大小 k,請找出所有滑動窗口裏的最大值。 示例: 輸入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3 輸出: [3,3,5,5,6,7] 解釋:

原创 劍指offer之隊列中的最大值(C++/Java雙重實現)

1.題目描述 請定義一個隊列並實現函數 max_value 得到隊列裏的最大值,要求函數max_value、push_back 和 pop_front 的均攤時間複雜度都是O(1)。 若隊列爲空,pop_front 和 max_

原创 JVM內存結構詳解(基於JDK8)

寫在前面:博主是一位普普通通的19屆二本大學生,平時最大的愛好就是聽聽歌,逛逛B站。博主很喜歡的一句話花開堪折直須折,莫待無花空折枝:博主的理解是頭一次爲人,就應該做自己想做的事,做自己不後悔的事,做自己以後不會留有遺憾的事,做

原创 劍指offer之從1到最大的n位數(C++/Java雙重實現)

1.題目描述 輸入數字 n,按順序打印出從 1 到最大的 n 位十進制數。比如輸入 3,則打印出 1、2、3 一直到最大的 3 位數 999。 示例 1: 輸入: n = 1 輸出: [1,2,3,4,5,6,7,8,9] 說明

原创 劍指offer之反轉鏈表(C++/Java雙重實現)

1.題目描述 定義一個函數,輸入一個鏈表的頭節點,反轉該鏈表並輸出反轉後鏈表的頭節點。 示例: 輸入: 1->2->3->4->5->NULL 輸出: 5->4->3->2->1->NULL 限制: 0 <= 節點個數 <= 5

原创 JVM與Java的體系結構(JVM入門知識體系總結)

寫在前面:博主是一位普普通通的19屆二本大學生,平時最大的愛好就是聽聽歌,逛逛B站。博主很喜歡的一句話花開堪折直須折,莫待無花空折枝:博主的理解是頭一次爲人,就應該做自己想做的事,做自己不後悔的事,做自己以後不會留有遺憾的事,做

原创 劍指offer之兩個鏈表中的第一個公共點(C++/Java雙重實現)

1.問題描述 輸入兩個鏈表,找出它們的第一個公共節點。 如下面的兩個鏈表: 在節點 c1 開始相交。 事例1: 輸入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,

原创 詳解圖的各種令人心慌的概念和四種圖的存儲結構(整理到吐)

寫在前面:博主是一位普普通通的19屆二本大學生,平時最大的愛好就是聽聽歌,逛逛B站。博主很喜歡的一句話花開堪折直須折,莫待無花空折枝:博主的理解是頭一次爲人,就應該做自己想做的事,做自己不後悔的事,做自己以後不會留有遺憾的事,做