vector<int> plusOne(vector<int>& digits) {
int n = digits.size();
for (int i = n - 1; i >= 0; i--){
if (digits[i] < 9){
digits[i] ;
return digits;
}
else{
digits[i] = 0;
}
}
digits.insert(digits.begin(), 1);
return digits;
}
這是一個加一問題。“給定一個表示為整數陣列數字的大整數,其中每個數字[i] 是整數的第 i 個數字。這些數字按從左到右的順序從最高有效到最低有效排序。大整數確實不包含任何前導 0。
將大整數加一并回傳結果數字陣列。”
為什么這個特定的解決方案不適用于 size_t 而不是 for 回圈中的 int ?
uj5u.com熱心網友回復:
因為size_t是無符號型別。如果i是 a size_t,那么
i >= 0
總是正確的,因為根據定義,無符號值永遠不會小于 0。
為了使它與一個size_t型別一起作業,有必要調整整體邏輯,以適應它。就像是:
for (size_t i = digits.size(); i-- > 0; ){
uj5u.com熱心網友回復:
如果是型別,則運算式i>=0將始終評估為真,因為它是無符號型別。isize_tsize_t
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/514846.html
標籤:C 算法
下一篇:均勻分布演算法
