原创 LeetCode 周賽 335,純純手速場!

大家好,我是小彭。 昨晚是 LeetCode 第 335 場周賽,你參加了嗎?這場周賽整體難度不高,有兩道模板題,第三題和第四題應該調換一下位置。 2582. 遞枕頭(Easy) 題目地址 https://leetcode.cn/pro

原创 物理學又不存在了?ChatGPT:室溫超導是物理學的一個夢想

大家好,我是小彭。 就在前天,一組微信聊天記錄突然開始在各大羣中流傳: 隨後,這一新聞直接引爆各大社交媒體,物理學又雙叒叕不存在了嗎? 到底是什麼重磅消息呢? 原來在美國物理學會的三月會議上,美國紐約羅切斯特大學的 Ranga Dias 團

原创 LeetCode 雙週賽 99,純純送分場!

大家好,我是小彭。 昨晚是 LeetCode 第 99 場雙週賽,你參加了嗎?這場周賽整體難度很低,第 4 題評論區普遍認爲是 1 字頭,純純手速場。 2578. 最小和分割 題目地址 https://leetcode.cn/proble

原创 LeetCode 周賽 336,多少人直接 CV?

大家好,我是小彭。 今天早上是 LeetCode 第 336 場周賽,你參加了嗎?這場周賽整體質量比較高,但是最後一題是老題,CV 能過。但是輸入數據範圍被降低了,這操作也是沒誰了。 2587. 統計範圍內的元音字符串數(Easy) 題

原创 LeetCode 周賽 334,在算法的世界裏反覆橫跳

大家好,我是小彭。 今天是 LeetCode 第 334 場周賽,你參加了嗎?這場周賽考察範圍比較基礎,整體難度比較平均,第一題難度偏高,第四題需要我們在算法裏實現 “反覆橫跳”,非常有意思。 2574. 左右元素和的差值(Easy)

原创 Android 初代 K-V 存儲框架 SharedPreferences,舊時代的餘暉?

前言 大家好,我是小彭。 SharedPreferences 是 Android 平臺上輕量級的 K-V 存儲框架,亦是初代 K-V 存儲框架,至今被很多應用沿用。 有的小夥伴會說,SharedPreferences 是舊時代的產物,現在

原创 LeetCode 雙週賽 98,腦筋急轉彎轉不過來!

大家好,我是小彭。 昨晚是 LeetCode 第 98 場雙週賽,你參加了嗎?這場周賽需要腦筋急轉彎,轉不過來 Medium 就會變成 Hard,轉得過來就變成 Easy。 2566. 替換一個數字後的最大差值(Easy) 題目地址 h

原创 LeetCode 周賽 333,你管這叫 Medium 難度?

大家好,我是小彭。 上週是 LeetCode 第 333 場周賽,你參加了嗎?這場周賽質量很高,但難度標得不對,我真的會謝。算法解題思維需要長時間鍛鍊,加入我們一起刷題吧~ 2570. 合併兩個二維數組 - 求和法(Easy) 題目地址

原创 LeetCode 周賽 332,在套路里摸爬滾打~

本文已收錄到 AndroidFamily,技術和職場問題,請關注公衆號 [彭旭銳] 提問。 大家好,今天是 3T 選手小彭。 上週是 LeetCode 第 332 場周賽,你參加了嗎?算法解題思維需要長時間鍛鍊,加入我們一起刷題吧~

原创 Android IO 框架 Okio 的實現原理,到底哪裏 OK?

前言 大家好,我是小彭。 今天,我們來討論一個 Square 開源的 I/O 框架 Okio,我們最開始接觸到 Okio 框架還是源於 Square 家的 OkHttp 網絡框架。那麼,OkHttp 爲什麼要使用 Okio,它相比於 Ja

原创 Android IO 框架 Okio 的實現原理,如何檢測超時?

前言 大家好,我是小彭。 在上一篇文章裏,我們聊到了 Square 開源的 I/O 框架 Okio 的三個優勢:精簡且全面的 API、基於共享的緩衝區設計以及超時機制。前兩個優勢已經分析過了,今天我們來分析 Okio 的超時檢測機制。 本

原创 ThreadLocal 超強圖解,這次終於懂了~

前言 大家好,我是小彭。 在前面的文章裏,我們聊到了散列表的開放尋址法和分離鏈表法,也聊到了 HashMap、LinkedHashMap 和 WeakHashMap 等基於分離鏈表法實現的散列表。 今天,我們來討論 Java 標準庫中一個

原创 Android 內存緩存框架 LruCache 的實現原理,手寫試試?

前言 大家好,我是小彭。 在之前的文章裏,我們聊到了 LRU 緩存淘汰算法,並且分析 Java 標準庫中支持 LUR 算法的數據結構 LinkedHashMap。當時,我們使用 LinkedHashMap 實現了簡單的 LRU Demo。

原创 程序員學習 CPU 有什麼用?

前言 大家好,我是小彭。 在上一篇文章裏,我們聊到了計算機的馮·諾依曼架構,以及計算機的五大部件:控制器、運算器、存儲器、輸入設備和輸出設備。在現在計算機體系中,CPU 是整個計算機的核心,主要包含控制器和運算器兩大部件。 在後續文章中,

原创 爲什麼計算機中的負數要用補碼錶示?

前言 大家好,我是小彭。 在前面的文章裏,我們聊到了計算機的馮·諾依曼架構的 3 個基本原則。其中第 1 個原則是計算機中所有信息都是採用二進制格式的編碼。也就是說,在計算機中程序的數據和指令,以及用戶輸入的所有數據,計算機都需要把它們轉