leetcode 651 四鍵鍵盤

2021-10-20 19:14:23 字數 755 閱讀 6935

@(labuladong的演算法小抄)[dp]

參考:labuladong的演算法小抄p162

這種題目的引數不是陣列,僅僅是乙個數n,所以需要自己思考狀態究竟是什麼

隨著我們敲擊鍵盤,剩餘的敲擊次數會減少(狀態一),螢幕上的a會增加(狀態二),剪下板中的a也會變化(狀態三)

但這種思考方式下,由於狀態二和狀態三最多是多少我們很難計算,導致dp陣列或備忘錄很難定義,無法剪枝,所以並不好

class

solution

private

intdp

(int n,

int a_num,

int copy)

/* 返回三個數的最大值 */

private

intmax

(int a,

int b,

int c)

};

最優按鍵序列的最後一次按鍵要麼是a,要麼是ctrl+v,因此選擇減少為了兩個

並且最優的序列應該是這種形式:a, a, a…c-a, c-c, c-v, c-v, c-v…c-a, c-c, c-v, c-v, c-v…

class

solution

}return dp[n];}

};

lintcode 四鍵鍵盤

假設你有乙個特殊的鍵盤,鍵盤上有如下鍵 鍵1 a 在螢幕上列印乙個 a 鍵2 ctrl a 選擇整個螢幕。鍵3 ctrl c 複製選擇到緩衝區。鍵4 ctrl v 在螢幕上已有的內容後面追加列印緩衝區的內容。現在,你只能按鍵盤上n次 使用以上四個鍵 找出你可以在螢幕上列印的 a 的最大數量 輸入 3...

動態規劃之四鍵鍵盤

四鍵鍵盤問題很有意思,而且可以明顯感受到 對 dp 陣列的不同定義需要完全不同的邏輯,從而產生完全不同的解法。首先看一下題目 如何在 n 次敲擊按鈕後得到最多的 a?我們窮舉唄,每次有對於每次按鍵,我們可以窮舉四種可能,很明顯就是乙個動態規劃問題。這種思路會很容易理解,但是效率並不高,我們直接走流程...

Excel鍵盤快捷鍵大全 四

調整工具欄和任務窗格的大小 1.按 alt 來選定選單欄。2.重複按 ctrl tab 以選定所需的工具欄或任務窗格。3.請執行下列操作之一 調整工具欄的大小 1.在工具欄中,按 ctrl 空格鍵可顯示 工具欄選項 選單。2.選擇 大小 命令,再按 enter。3.使用箭頭鍵調整工具欄的大小。移動工...