原创 不使用任何內建的哈希表庫設計一個哈希集合 具體地說,你的設計應該包含以下的功能。add(value):向哈希集合中插入一個值。 contains(value) :返回哈希集合中是否存在這個值。

不使用任何內建的哈希表庫設計一個哈希集合 具體地說,你的設計應該包含以下的功能 add(value):向哈希集合中插入一個值。 contains(value) :返回哈希集合中是否存在這個值。 remove(value):將給定值從哈希集

原创 215. 數組中的第K個最大元素。在未排序的數組中找到第 k 個最大的元素。請注意,你需要找的是數組排序後的第 k 個最大的元素,而不是第 k 個不同的元素。

215. 數組中的第K個最大元素 在未排序的數組中找到第 k 個最大的元素。請注意,你需要找的是數組排序後的第 k 個最大的元素,而不是第 k 個不同的元素。 示例 1: 輸入: [3,2,1,5,6,4] 和 k = 2輸出: 5

原创 給定一個包含 n + 1 個整數的數組 nums,其數字都在 1 到 n 之間(包括 1 和 n),可知至少存在一個重複的整數。假設只有一個重複的整數,找出這個重複的數。

給定一個包含 n + 1 個整數的數組 nums,其數字都在 1 到 n 之間(包括 1 和 n),可知至少存在一個重複的整數。假設只有一個重複的整數,找出這個重複的數。 示例 1: 輸入: [1,3,4,2,2] 輸出: 2 示例 2:

原创 【Java面試題】調用yield()、sleep()、notify()、wait()等方法對鎖有何影響?

yield():讓出CPU的執行權,進入就緒狀態,不會釋放鎖; sleep():線程休眠,但不會釋放鎖; notify():對鎖無影響,線程只有在synchronized同步代碼執行完成後,纔會釋放鎖,                所以

原创 【微服務-Spring源碼】Idea + Gradle + Spring源碼環境搭建

一、 下載Gradle Gradle官網下載:https://gradle.org/install/  Gradle 6.0 鏈接:https://pan.baidu.com/s/1JUdVNVTc8uVF0vNjEbNQ2A  提取碼:

原创 給你一個數組 nums ,數組中有 2n 個元素,按 [x1,x2,...,xn,y1,y2,...,yn] 的格式排列。 請你將數組按 [x1,y1,x2,y2,...,xn,yn] 格式重新排

給你一個數組 nums ,數組中有 2n 個元素,按 [x1,x2,...,xn,y1,y2,...,yn] 的格式排列。 請你將數組按 [x1,y1,x2,y2,...,xn,yn] 格式重新排列,返回重排後的數組。   示例 1: 輸

原创 給你兩個整數,n 和 start 。數組 nums 定義爲:nums[i] = start + 2*i(下標從 0 開始)且 n == nums.length 。

給你兩個整數,n 和 start 。 數組 nums 定義爲:nums[i] = start + 2*i(下標從 0 開始)且 n == nums.length 。 請返回 nums 中所有元素按位異或(XOR)後得到的結果。 cla

原创 給你一個長度爲 n 的整數數組 nums,其中 n大於1,返回輸出數組 output ,其中 output[i] 等於 nums 中除 nums[i] 之外其餘各元素的乘積。

給你一個長度爲 n 的整數數組 nums,其中 n > 1,返回輸出數組 output ,其中 output[i] 等於 nums 中除 nums[i] 之外其餘各元素的乘積。 示例: 輸入: [1,2,3,4] 輸出: [24,12,8

原创 MyISAM 和 InnoDB 鎖總結

爲什麼要用鎖? 你在試衣間試衣服,沒有鎖,別人就會推門進來,場面會很尷尬!!! 什麼是鎖? 鎖是計算機協調多個進程或線程併發訪問某一資源的機制; 在數據庫中,數據也是一種供許多用戶共享的資源。如何保證數據併發訪問的一致性、有效性是所有數據

原创 給定兩個列表 Aand B,並且 B 是 A 的變位(即 B 是由 A 中的元素隨機排列後組成的新列表)。

給定兩個列表 Aand B,並且 B 是 A 的變位(即 B 是由 A 中的元素隨機排列後組成的新列表)。 我們希望找出一個從 A 到 B 的索引映射 P 。一個映射 P[i] = j 指的是列表 A 中的第 i 個元素出現於列表 B 中

原创 給定一個只包含正整數的非空數組。是否可以將這個數組分割成兩個子集,使得兩個子集的元素和相等。

給定一個只包含正整數的非空數組。是否可以將這個數組分割成兩個子集,使得兩個子集的元素和相等。 注意: 每個數組中的元素不會超過 100 數組的大小不會超過 200 示例 1: 輸入: [1, 5, 11, 5] 輸出: true 解

原创 【每日一練】你是一個專業的小偷,計劃偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。

你是一個專業的小偷,計劃偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。 給定一個代表每個房屋存放金額的非負整數數組,計算你

原创 【每日一練】給你一個數組 candies 和一個整數 extraCandies ,其中 candies[i] 代表第 i 個孩子擁有的糖果數目。

給你一個數組 candies 和一個整數 extraCandies ,其中 candies[i] 代表第 i 個孩子擁有的糖果數目。 對每一個孩子,檢查是否存在一種方案,將額外的 extraCandies 個糖果分配給孩子們之後,此孩子有

原创 synchronized 不是萬能,錯誤加鎖

Java支持多個線程同時訪問一個對象或者對象的成員變量,synchronized 關鍵字可以修飾方法或者同步代碼塊的方法,確保多個線程在同一時刻,只能有一個線程處於方法或者同步代碼塊中,保證了線程對變量訪問的可見性和排他性   pub

原创 Thread 和 Runnable 區別?

創建線程的方式有幾種? JDK 8 Thread.java 第73行明確指出,有兩種 方式!!! 一種方法是: class PrimeThread extends Thread {          long minPrime;