日常解題策略思考

2021-09-10 07:06:22 字數 704 閱讀 6387

這幾天刷題的總結。

乙個問題,先找到一般的解決問題的策略,由於時間和能力的關係,對特殊情況(corner case)及規律的把握不到位,就會導致更大的錯誤(可能)固化潛在的錯誤認知,這樣會加大回頭找漏洞時的難度(從最根本的地方來步步尋錯),當然不管想到或者選擇哪種,直至糾正的整個過程,對人分析和看待的問題都是有成長價值的。主要是在選擇是需考慮時間代價與目標之間的關係,輕重緩急。

有時會想如果走來就暴力求解,而沒去嘗試最初對問題產生的自己的看法,會不會因為在暴力求解的過程中忘記了本能想到的好點子,或者暴力求解後失去了對這個問題的興趣(失去了驗證可能的更高效的解法,或者對錯誤思路的一次排除,積累經驗的可能)。

所以我覺得在時間允許的情況下(絕大多數情況,時間都是富裕的,比賽的的話時間比重就很大),優先考慮自己的最初的idea,把思想開啟,勇於驗證。這樣會對這個題有更深刻的認識與可能更高效的解法,這意味著下次遇到類似的問題就會有更多的選擇,而不是更多的可能(試錯),同時也避免了我們在錯誤的思路上消耗過多的時間。

換個說法,如果選擇了暴力求解,不妨把對問題起初的一些想法記在一旁,以防漏忘,然後繼續求解,要知道暴力求解本身就是乙個解決問題的過程,他讓我們對問題本質的認識以及在問題求解過程中對我們起初想的驗證都是有幫助的,所以不管選擇哪種方法,都沒有對錯之說,但對於暴力之後的失去探索他路興趣這點,就太可惜了。我們應抱著一種對每一次思維火花負責任的態度, 不斷求知,不斷成長,這是乙個態度,乙個品質,更是乙個能力。是需要培養的習慣。

策略模式的思考

大蝦們見笑了 這是小弟第一次寫這種文章 多多指點批評 在head first書中,作者用鴨子的例子來說明策略模式 起初,設計的模型是 有個基類duck,在基類定了了乙個變數 description,用來代表鴨子的外觀描述,還定義了乙個方法fly 它的子類mallard 野鴨 sarcelle 綠翅鴨...

20190712 01矩陣的解題思考

中等 給定乙個由 0 和 1 組成的矩陣,找出每個元素到最近的 0 的距離。兩個相鄰元素間的距離為 1 示例 1 輸入 0 0 0 0 1 0 0 0 0 輸出 0 0 0 0 1 0 0 0 0 示例 2 輸入 0 0 0 0 1 0 1 1 1 輸出 0 0 0 0 1 0 1 2 1 注意 給...

日常 nginx與負載均衡策略

upstream mail.sina.net 2 ip hash 每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問乙個後端伺服器,可以解決session的問題。例如 upstream bakend 3 fair 第三方 按後端伺服器的響應時間來分配請求,響應時間短的優先分配。upstrea...