一些解決問題的建議

2021-08-02 12:01:18 字數 879 閱讀 6519

1.確保自己真正了解相關問題。

包括輸入什麼,輸出什麼,兩者之間是什麼關係。然後試著用您所熟悉的資料結構(如某種序列或圖結構)來表示該問題的例項。此外,有時候先直接提出乙個簡單粗暴的解決方案也有助於您理清問題的實質內容。

2.找到一種歸簡方法。

您是否能將相關輸入轉換成另乙個已解決問題的輸入?以及能讓其輸出結果為己所用?

您能否將某個問題的例項的規模由n歸簡至k(k

3.看看是否有額外的假設條件可用。

例如,在一定範圍內的整數排序比任意值的排序操作更有效率,在某個dag中尋找最短路徑比任意圖結構中找要容易。

尋找一種最適用的演算法,這需要我們一種認識問題的角度和模式,然後掃瞄我們記憶檔案中與之相關的演算法,與構建某個演算法來解決問題不同,我們現在構建的演算法是用來轉化相關問題例項,並使之能用現存演算法來解決的。系統地處理相關問題和演算法顯然要比我們等待某些靈感來得更有成效。

歸簡法:

1.歸簡成乙個完全不同的問題,用某個現存的方法來解決。

2.歸納法:歸簡成乙個或多個子問題(其實是同乙個問題的更小型的例項)

弱歸納法:將問題轉變成n-1規模的子問題。

強歸納法:將子問題轉化成任何k

困難度證明:

如果我們可以將問題a歸簡為問題b。我們就知道如果b是簡單的,a就必然同樣是簡單的。

因為:通過容易的歸簡法,我們可以用解決b的方式來解決a。

換位法:

如果a是個難題,b就也會是個難題。如果a能被歸簡為b,b就至少要和a是同等難度的問題。

當我們遇到乙個全新的未知問題x時,如果已知乙個難題y。如果y能歸簡為x,那麼x一定是是個難題。否則,我們就能通過x很容易地解決y,這與條件矛盾。

鬆弛法:

是個數學術語,這些方法會通過逐步接近的方式來獲得相關問題的最佳解法。

antd upload例項和一些解決問題的辦法

1 實現beforeupload雖然返回false,但是仍然出現省略圖 handlebeforeupload file this.onchange files return false 2 實現如何關閉upload滑鼠上移時顯示的陰影層 在upload標籤中新增如下 showuploadlist 隱...

利用集合中的一些特性簡單解決問題

我們都知道集合中有set介面,而且set介面的特性之一就是 儲存的元素不能重複,既然如此我們就可以利用此特性比較簡單的解決一些問題。問題一 隨機產生10個1 20以內的不重複整數 思路 我們可以利用set集合來儲存,這樣一來它不僅可以自動篩選掉重複元素,同時也會對元素進行自然順序的排序 測試程式 p...

分配時間的一些建議

一 儘量減少做無用功。勿衝動,再好的想法也不要衝動,做完了才發現白做了就晚了。勿求全,不要把目標定的太高,就像裝修房子,每個人都恨不得精益求精,最後花費巨大的錢財和時間,很多事情夠用就好。另外要學會放棄,人生可以做的事情很多,不必貪多,猴子掰玉公尺,最後一無所獲。這樣也許可以節約你80 的時間,還省...