題目:現有給定公升序排列的整形陣列a[n]和整數s,需要在整型陣列中找到任意個小標,使得各小標對應數字之和為s,輸出所有可能的下標組合。
例如:陣列 1,4,8,10,12,15,22,25,31, x=30 可得
下標: 2,6 : a[2] + a[6] = 30
下標:0,1,3,5 : a[0] + a[1] + a[3] + a[5] = 30
...使用下面的函式原型
int searchnumbers(int data, unsigned int length, int sum)
[思路] 回溯法,每個位置有兩種情況可取可不取,可得出所有的情況。
**如下:
#include#includeusing namespace std;
void dfs(int data, unsigned int length, int target, int &sum, int depth, vector&v, vector>&vv)
if (sum < target) }
int searchnumbers(int data, unsigned int length, int target)
return vv.size();
}int main()
; unsigned int length = sizeof(data) / sizeof(data[0]);
int target = 30;
int answer = searchnumbers(data, length, target);
cout << "total number: " << answer << endl;
return 0;
}
商湯科技校園招聘筆試題1
給定乙個字串序列,包含字母,數字以及空格,請問該字元最多能組成都少個 good 字串區分大小寫,每個字元只能使用一次,且不能調換字元順序。輸入 ggoodood 輸出 0 輸入 goo23good gooddd 輸出 2 輸入 123 goodoodggoooddjfhjdggooodkdggggg...
京東2017校園招聘程式設計題 幸運數
題目 4和7是兩個幸運數字,我們定義,十進位制表示中,每一位只有4和7兩個數的正整數都是幸運數字。前幾個幸運數字是 4,7,44,47,74,77,444,447 輸入 數字k輸出 第k個幸運數 樣例輸入 3 5 100 10000000 樣例輸出 74 744747 447744474474774...
2017百度校園招聘程式設計題
題目大概為輸入n個敏感詞彙和乙個文字串,在文字串中出現敏感詞彙的地方用 替代掉,輸出替換後的文字串。思路 直接kmp匹配出現敏感詞的地方,用乙個中間陣列標記。唯一的陷阱就是不區分大小寫,所以用kmp判斷兩個字元相等的注意下 替換敏感詞彙 include include include include...