受辭職考研和新冠肺炎疫情影響,一直沒更。遺憾,數學和專業課再高點就有戲了。繼續。html
1.Algorithm:每週至少作一個 leetcode 的算法題
2.Review:閱讀並點評至少一篇英文技術文章
3.Tip:學習至少一個技術技巧
4.Share:分享一篇有觀點和思考的技術文章算法
如下是各項的狀況:數據庫
回顧第一週題目數組
以前使用的暴力法,思路就是去找 taget - nums[i] 而後返回服務器
class Solution { public int[] twoSum(int[] nums, int target) { for (int i = 0; i < nums.length; i++) { for (int j = i + 1; j < nums.length; j++) { if (nums[j] == target - nums[i]) { return new int[] { i, j }; } } } throw new IllegalArgumentException("No two sum solution"); } }
如今考研後,應該考慮去分析時間和空間複雜度數據結構
對於每一個元素,經過遍歷數組的其他部分來尋找它所對應的目標元素,每次將耗費 O(n)的時間。由於嵌套,故時間複雜度爲 O(n^2)工具
不使用暴力法,那麼用什麼呢?學習
須要一種更有效的方法來檢查數組中是否存在目標元素,哈希表(保持數組中的每一個元素與其索引相互對應)。網站
能夠將查找時間從O(n)下降到 O(1)。
具體:使用了兩次循環。在第一次循環中,將每一個元素的值和它的索引添加到表。以後在第二次循環中,將檢查每一個元素所對應的目標元素(target - nums[i]target−nums[i])是否存在於表中,代碼以下:
Java:
public int[] twoSum(int[] nums, int target) { Map<Integer,Integer> map = new HashMap<>(); for(int i=0 ; i < nums.length ; i++){ map.put(nums[i],i); } for (int i = 0;i < nums.length; i++){ int complement = target - nums[i]; if (map.containsKey(complement)) { return new int [] { i , map.get(complement)}; } } throw new IllegalArgumentException("No two sum solution"); }
JS:
const twoSum = function(nums, target) { const comp = {}; for(let i=0; i<nums.length; i++){ if(comp[nums[i] ]>=0){ return [ comp[nums[i] ] , i] } comp[target-nums[i]] = i } };
分析時間和空間複雜度
由於第一次須要遍歷所有放入表中,故第一次時間複雜度 O(n)。而對於每一個元素,經過遍歷數組的其他部分來尋找它所對應的目標元素,每次將耗費 O(1)的時間。故總時間複雜度爲 O(n)
因此,整體分析後,理解了爲何哈希表會節省本機資源。這也是數據庫,組件solr喜歡用哈希表的一個重要緣由。
分享 Josh Hug 的 CS61B課程
最近在看josh的數據結構,理清思路很是有幫助。比起之前聽的課,頗有脈絡,自成體系 。大概理了下他的思路,後面直接在YouTube上去搜索Josh Hug。基本是按這個流程走的
簡單JMS(Just My Socks )使用指南
什麼是 obfs (simple-obfs)?
obfs (simple-obfs) 是一個設計用於混淆 Ssocks 流量的工具,其原理是在 Ss 流量前面添加一層加密,以假裝成是在正常的訪問網站,obfs 的實現有兩種方式,一種 HTTP,另一種是 TLS。
而 Just My Socks 支持的是 TLS 方式,此假裝性更加隱蔽,因此安全性更高。
因爲 obfs 混淆相關並無一致的 QR 連接等協商方式,因此你得本身必須得手動來配置選項,是不能直接快速掃描二維碼或者添加連接方式導入來使用的。
總結一下,就是封鎖嚴重,爲了更加安全隱蔽,Just My Socks 啓用了 obfs 混淆,如今3、四組服務器須要安裝插件才能正常鏈接。
目前 不建站的狀況下,用別人的機場會方便點,因此選用JMS 。 1 , 2 , 5 組直接用QR去掃碼或者複製連接進V2或者小飛機 都比較方便 。 主要記載遇到的坑 ,以前參考的博客
https://cokebar.info/archives/1988
但不能ping通。
下載解壓到小飛機目錄
在服務器配置界面,選擇支持 obfs 混淆的節點,填入參數便可
插件:obfs-local 插件選項:obfs=tls (複製)
這周熱點是瑞幸咖啡,推薦個觀點
https://www.fool.com/investing/2020/02/04/why-luckin-coffee-stock-popped-today.aspx 談到中國概念股票,投資者經常擔憂欺詐性數字。可是之後,這種狀況會變得更糟。Luckin Coffee管理層發現了問題,並暫停了包括Liu在內的涉案人員,並對其結果進行了獨立驗證。也就是說,要肯定該醜聞的嚴重程度還須要花費一些時間,甚至須要更長的時間才能恢復破碎的投資者信心。 對國內來講,並不算個好事。之後,中概股會更難。