Leetcode 650. 2 Keys Keyboard[medium]
原題地址
題目內容
題目分析
題目的意思為,初始狀態衹給你一個字元A,最後要你輸出有n個A。
能進行的衹有兩種操作:1,複製當前整個字串。2,貼上上一步複製的字串。
假設要輸出4個A,那麼採取的最少的操作是:
1.複製當前1個A
2.貼上A
3.複製當前的2個A
4.貼上2個A
最少4部輸出4個A
所以假設n%2==0 那麼f(n)=f(n/2)+2;
如果n%3==0 那麼f(n)=f(n/3)+3;
程式碼實現
class Solution {
public:
int minSteps(int n) {
if(n == 1 ) return 0;
for(int i = 2; i <= n; i++){
if(n%i == 0){
return minSteps(n/i)+i;
}
}
return n;
}
};
相關推薦
[leetcode] 650. 2 Keys Keyboard (Medium)
解法一: 暴力DFS搜尋,對每一步進行復制還是貼上的狀態進行遍歷。 注意剪枝的地方: 1、當前A數量大於目標數量,停止搜尋 2、當前剪貼簿數字大於等於A數量時,只搜尋下一步為貼上的狀態。 Runtime: 8 ms, faster than 46.69% of C++ online sub
Leetcode 650. 2 Keys Keyboard[medium]
原題地址 題目內容 題目分析 題目的意思為,初始狀態衹給你一個字元A,最後要你輸出有n個A。 能進行的衹有兩種操作:1,複製當前整個字串。2,貼上上一步複製的字串。 假設要輸出4個A,那麼採取的最少的操作是: 1.複製當前1個A 2.貼上A 3.複製當前的2個A
[Leetcode]650. 2 Keys Keyboard
can pad pos eps ons plan line board paste Initially on a notepad only one character ‘A‘ is present. You can perform two operations on t
[LeetCode] 650. 2 Keys Keyboard
題:https://leetcode.com/problems/2-keys-keyboard/description/ 題目 Initially on a notepad only one character ‘A’ is present. You can perform two
650. 2 Keys Keyboard的C++解法(dp)
題目描述:https://leetcode.com/problems/2-keys-keyboard/ dp真的很神奇啊。易見: res[1]=0 res[2]=2 res[3]只有一種方法即在一個A的基礎上cvv,所以res[3]=res[1]+3 res[4]有兩種方法:1.在一個A的基
[LeetCode] 2 Keys Keyboard 兩鍵的鍵盤
post 聯系 not 註意 quest ted 不能 vector ... Initially on a notepad only one character ‘A‘ is present. You can perform two operations on t
2 Keys Keyboard
key urn int -1 是我 steps 技術 range d+ 這道題為中等題 題目: 思路: 我的:DP,狀態轉換方程為 dp[i] = dp[p] + i / p,其中i為當前索引,p為i的因數,這個還是很容易想到的,比如i
leetcode650—2 Keys Keyboard
Initially on a notepad only one character 'A' is present. You can perform two operations on this notepad for each step: Copy All: You can copy all the ch
[LeetCode] 4 Keys Keyboard 四鍵的鍵盤
after with sin leetcode out select most boa append Imagine you have a special keyboard with the following keys: Key 1: (A): Print o
leetcode-題2
pac else return == pre use ++ ostream vector #include <iostream> #include <vector> #include <algorithm> using namespa
[array] leetcode - 40. Combination Sum II - Medium
可重復 one 實現 algorithm nat oos duplicate .cn ber leetcode - 40. Combination Sum II - Medium descrition Given a collection of candidate numb
LeetCode 495. Teemo Attacking(medium)
art status n-n however nbsp note gin won style In LOL world, there is a hero called Teemo and his attacking can make his enemy Ashe be in
LeetCode:18. 4Sum(Medium)
res 丟失 src 開始 整數 ati lan light ref 1. 原題鏈接 https://leetcode.com/problems/4sum/description/ 2. 題目要求 給出整數數組S[n],在數組S中是否存在a,b,c,d四個整數,使得四個數
LeetCode: 29. Divide Two Integers (Medium)
edi tro 大於 sys 復雜 ref 思路 system problems 1. 原題鏈接 https://leetcode.com/problems/divide-two-integers/description/ 2. 題目要求 給出被除數dividend和除數d
LeetCode: 56. Merge Intervals(Medium)
oid highlight ava port ger println mage str .get 1. 原題鏈接 https://leetcode.com/problems/merge-intervals/description/ 2. 題目要求 給定一個Interval對
LeetCode--231--2的冪函
div pre 示例 lee wid false 問題 bject tco 問題描述: 給定一個整數,編寫一個函數來判斷它是否是 2 的冪次方。 示例 1: 輸入: 1 輸出: true 解釋: 2 0 = 1 示例 2: 輸入: 16 輸出: true 解釋: 2 4
leetcode 261-Graph Valid Tree(medium)(BFS, DFS, Union find)
poll != bfs node 如果 為什麽 rec connect off Given n nodes labeled from 0 to n-1 and a list of undirected edges (each edge is a pair of nodes)
[leetcode] 113. Path Sum II (Medium)
原題連結 子母題 112 Path Sum 跟112多了一點就是儲存路徑 依然用dfs,多了兩個vector儲存路徑 Runtime: 16 ms, faster than 16.09% of C++ class Solution { public: vector<vect
Leetcode---231. 2的冪
給定一個整數,編寫一個函式來判斷它是否是 2 的冪次方。 示例 1: 輸入: 1 輸出: true 解釋: 20 = 1 示例 2: 輸入: 16 輸出: true 解釋: 24 = 16 示例 3: 輸入: 218 輸出: false --
leetcode 231. 2的冪 【Easy】
題目: 給定一個整數,編寫一個函式來判斷它是否是 2 的冪次方。 示例 1: 輸入: 1 輸出: true 解釋: 20 = 1 示例 2: 輸入: 16 輸出: true 解釋: 24 = 16 示例 3: 輸入: 218 輸出: fals