1.給出乙個字串 a, 表示乙個 n 位正整數, 刪除其中 k 位數字, 使得剩餘的數字仍然按照原來的順序排列產生乙個新的正整數。
找到刪除 k 個數字之後的最小正整數。n
<= 240, k
<= n
class solution
for(auto c:str)
sk.push(c);
}else
i++;
}while(!sk.empty())
return res;
}};
3.輸入乙個含有n個數字的陣列,問需要幾次陣列裡面的數字就被刪完了,刪的規則是這樣的,每次從乙個回文串裡刪,如果沒有回文串,只能乙個乙個的刪,返回需要的最少次數,比如輸入[1,2],返回2,因為沒有回文,只能乙個乙個的刪;輸入[1,4,3,1,5],返回3,因為第一次刪掉3(或4)後,剩下的陣列是[1,4(或3),1,5],第二次可以將回文內的數字都刪掉,最後把5刪掉,一共3次
4.給定乙個僅包含0或1的字串,現在可以對齊進行一種操作:01相鄰時可以消除掉這兩個字元,這樣操作可以一直進行下去直到找不到相鄰的0和1為止問這個字串經歷了操作後的最短長度
41100
輸出 0
#include#includeusing namespace std;
class solution
else
i++;
} return s.size();
}};int main()
return 0;
}
5.小q手上有n種不同面值的硬幣,每種硬幣都有無限多個希望帶盡量少的硬幣,並且能組合出1到m之間(包含1和m)的所有面值
m 20 n 4
1 2 3 10
輸出 5
class solution
}return dp[amount]>amount?-1:dp[amount];
}};
6.打怪獸,依次遇見n只怪獸,每只都有武力值和所需金幣數,給金幣會護送 ,如果沒有賄賂且大於護送的武力值之和會攻擊
問所需最少金幣數(只通過了70%,找不到原因)
3 n只
8 5 10武力值
1 1 2金幣數
輸出2
#include#includeusing namespace std;
int fun(int n,vectord,vectorp)
else if(d_max>d[i])
else
}return p_min;
}int main()
for(int i = 0;i>b;
p[i] = b;
} int res = fun(n,d,p);
cout<7.請設計乙個類,該類在同乙個程序中只能由乙個例項,且該例項允許外部訪問。
只能生成乙個例項的類是實現了單例模式的型別。
解題思路:
1.必須把建構函式設為私有函式,防止他人建立例項。
2.在類中建立靜態私有的例項,在需要時建立該例項,直到程式結束才銷毀。
3.提供乙個靜態的公有的函式用於建立/獲取靜態私有物件。
class singleton;
程式語言常見問題記錄
使用calloc函式進行動態一維陣列分配。但是不能使用memset函式進行初始化。而正規申請的定長陣列是可以使用memset函式進行置零初始化的。例如 要申請乙個p n include include intmain 使用calloc函式進行動態二維陣列分配,例如,要申請乙個p m n int ma...
演算法題記錄
1.給定乙個整數陣列nums和乙個目標值target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。法一 時間複雜度o n 2 空間複雜度o n var twosum function nums,targ...
程式設計問題記錄 語句寫在函式外
今天第一次寫3d遊戲中程式,只想初始化一下d3d。可是在第一步 獲取介面idirect3d9的指標 時就出現了問題。很多人都說是引用標頭檔案出錯,但是我設定過應該沒問題。到很多群裡問,論壇發貼都沒得解。經過一晚上思考,終於在今天零晨乙個群裡的朋友看了我傳給他的專案後找到了原因 語句寫在了函式體外!請...