原创 基於wait/notify的阻塞隊列

阻塞隊列與普通的隊列的區別就是當隊列爲空或者滿時處理的邏輯不通,普通隊列返回特殊值(比如null,false等等)而阻塞隊列是阻塞當前線程直到隊列有元素或者不爲空。 下面我們使用Java中的wait/notify方法來實現一個自己的阻塞隊

原创 反轉單向鏈表的兩種寫法(迭代、遞歸)

題目:反轉單向鏈表,單向鏈表的定義爲: public class ListNode { int val; ListNode next; public ListNode (int val) {this.val =

原创 最大公約數算法及其優化

一般求解最大公約數的兩種算法,分別是輾轉相除法與更相減損術。 輾轉相除法說的是:兩個整數a,b(a比b大,下同)的最大公約數等於a%b與b的最大公約數。 更相減損術說的是:兩個整數a,b(a比b大,下同)的最大公約數等於a-b與b的最大公

原创 滑動窗口最大值數組

題目:有一個整形數組nums和一個大小爲k的窗口,窗口從數組的最左邊每次滑動一格直到最右邊,返回每次窗口中的最大值。 題目來源:LeetCode--239. Sliding Window Maximum 原版題目: Given an ar

原创 最大值減去最小值小於或等於num的連續子數組數量

題目: 給定數組arr和整數num,返有多少個連續子數組滿足如下情況:                  max(arr[i...j])  -  min(arr[i...j]) <= num             max(arr[i..

原创 關於求平方的兩道題

題目:實現pow(x, n)函數 題目來源:LeetCode--50. Pow(x, n) 原題目: Implement pow(x, n), which calculates x raised to the power n (xn).

原创 LeetCode15--三數之和,進來學細節

題目表述: 給定一個包含 n 個整數的數組 nums,判斷 nums 中是否存在三個元素 a,b,c ,使得 a + b + c = 0 ?找出所有滿足條件且不重複的三元組。 注意:答案中不可以包含重複的三元組。 例如, 給定數組 nu

原创 Pow2

public final class Pow2 { public static final int MAX_POW2 = 1 << 30; public Pow2() { } public stati

原创 華爲筆試題---仿LISP算法

/** * 仿LISP字符串運算 * LISP語言唯一的語法就是括號要配對。  * 形如 (OP P1 P2 …),括號內元素由單個空格分割。  * 其中第一個元素OP爲操作符,後續元素均爲其參數,參數個數取決於操作符類型 

原创 一道好玩的多線程面試題

請問下面的代碼輸出什麼: public class TestThread { static class A extends Thread { A (Runnable r) { super(

原创 華爲面試題,多線程打印121121121.....

題目要求:有一個函數print(int i)被兩個線程調用,一個線程調用它打印1,另外一個線程調用它打印2,要求最終打印出121121121.....的效果: 參考代碼: /** * print(i)被兩個線程調用,一

原创 請不要再說鏈表的插入刪除的速度比數組快了

在上數據結構的課程時,相信老師在課堂上都是說鏈表的增加刪除操作是O(1)的,這句話對也不對。這句話對的前提是我需要知道我們插入或者刪除的前驅或者後繼結點才行,不然這句話是不成立。相反我們還需要去遍歷刪除元素的前驅或者後繼結點,這個過程是O

原创 從一次爬蟲案例談談異常處理與多線程的重要性

最近因爲項目需要,需要爬取一些頭像圖片,爬取的網址是https://www.woyaogexing.com/touxiang/,這次爬蟲沒有使用任何框架,使用Python的requests庫請求網址,使用pyquery解析網頁。網頁的結構

原创 我通過刷LeetCode給Apache/Dubbo提了一個優化措施

LeetCode題目連接:LeetCode--528. Random Pick with Weight 原題目如下: Given an array w of positive integers, where w[i] describes

原创 a^b

求 a 的 b 次方對 p 取模的值。 輸入格式 三個整數 a,b,p ,在同一行用空格隔開。 輸出格式 輸出一個整數,表示a^b mod p的值。 數據範圍 0≤a,b,p≤109 輸入樣例: 3 2 7 輸出樣例: 2 使用循環