lzy今天又突發奇想了,他想隨意給出兩個數字n和k,請你找出所有n個數字相加和為k的組合數量。組合中只含有1——9的數字,並且不允許重複。
測試樣例由多組測試資料組成。每組測試樣例第一行輸入兩個正整數n ( 1 <= n <= 9 ) 和 k < ( 1 <= k <= 45 )。
輸出所有符合題目要求的組合數量。如果組合不存在,請輸出 no list
3 73 913
資料不能重複,所以把所有資料從 1,2,3。。。開始跑。
每次右邊的數字不能大於等於左邊的數字。
temp.
size()
>
0&& i <= temp [ temp.
size()
-1];
在**中先寫入最終裁決條件,所選的數字等於能有的數量n,並且總數sum等於和k;
if
( temp.
size()
== n )
return
;}
然後暴力跑就好。。。
#include
using namespace std;
vector<
int> temp;
int n,m,flag,ans;
void
dfs(vector<
int>
&temp,
int sum)
return;}
for(
int i=
1;i<=
9;i++
) sum=i+sum;
temp.
push_back
(i);
dfs(temp,sum)
; temp.
pop_back()
; sum-
=i;}
return;}
intmain()
else
}return0;
}
13 加一問題
我的 不同的提交竟然有一次是100 了,說明是網路問題 public static int plusone int digits if div 1 return nums return digits 看一下排名比較靠前的 吧,以後不能用演算法來套題目,要根據題目來套演算法,不同的題目要用不同的演算法...
LeetCode 加一問題
題目描述 給定乙個由整數組成的非空陣列所表示的非負整數,在該數的基礎上加一.最高位數字存放在陣列的首 位,陣列中每個元素只儲存單個數字.你可以假設除了整數 0 之外,這個整數不會以零開頭.測試用例 輸入 digits 1,2,3 輸出 1,2,4 解釋 輸入陣列表示數字 123。思路 加一問題也就是...
124 66 加一問題
給定乙個由 整數 組成的 非空 陣列所表示的非負整數,在該數的基礎上加一。老規矩第乙個是我寫的,後面的兩個我從執行時間和消耗記憶體最少個抄了乙個 class solution object def plusone1 self,digits type digits list int rtype lis...