假設你有乙個特殊的鍵盤,鍵盤上有如下鍵:
鍵1: (a): 在螢幕上列印乙個』a』。
鍵2: (ctrl-a): 選擇整個螢幕。
鍵3: (ctrl-c): 複製選擇到緩衝區。
鍵4: (ctrl-v): 在螢幕上已有的內容後面追加列印緩衝區的內容。
現在,你只能按鍵盤上n次(使用以上四個鍵),找出你可以在螢幕上列印的「a」的最大數量
輸入: 3
輸出: 3
解釋: a, a, a
輸入: 7
輸出: 9
解釋: a, a, a, ctrl a, ctrl c, ctrl v, ctrl v
1 <= n <= 50
答案將在32位有符號整數的範圍內。
動態規劃
dpi表示i個操作所能得到的最多的a的個數
初始狀態下 dpi=0,當i<=6的時候容易得到dpi=i
對於任意dpi 可以省去j個操作
j=1 dpi=1+dpi-1
j=2 dpi=2+dpi-2
當j>2的時候,可以全選 複製 貼上,所以dpi = j * dp(i-1-j)
取其中最大值即可
1234567
891011
1213
1415
1617
1819
2021
2223
2425
2627
28
classsolution
for (int j = 2; j <= (i-2); j++)
int m = max(dp[i-1]+1, dp[i-2]+2);
dp[i] = max(dp[i], m);
}return dp[n];}};
-------------end of file
thanks for reading-------------
leetcode 651 四鍵鍵盤
labuladong的演算法小抄 dp 參考 labuladong的演算法小抄p162 這種題目的引數不是陣列,僅僅是乙個數n,所以需要自己思考狀態究竟是什麼 隨著我們敲擊鍵盤,剩餘的敲擊次數會減少 狀態一 螢幕上的a會增加 狀態二 剪下板中的a也會變化 狀態三 但這種思考方式下,由於狀態二和狀態三...
動態規劃之四鍵鍵盤
四鍵鍵盤問題很有意思,而且可以明顯感受到 對 dp 陣列的不同定義需要完全不同的邏輯,從而產生完全不同的解法。首先看一下題目 如何在 n 次敲擊按鈕後得到最多的 a?我們窮舉唄,每次有對於每次按鍵,我們可以窮舉四種可能,很明顯就是乙個動態規劃問題。這種思路會很容易理解,但是效率並不高,我們直接走流程...
Excel鍵盤快捷鍵大全 四
調整工具欄和任務窗格的大小 1.按 alt 來選定選單欄。2.重複按 ctrl tab 以選定所需的工具欄或任務窗格。3.請執行下列操作之一 調整工具欄的大小 1.在工具欄中,按 ctrl 空格鍵可顯示 工具欄選項 選單。2.選擇 大小 命令,再按 enter。3.使用箭頭鍵調整工具欄的大小。移動工...