class solution
temp[len++] = s[i];
}else if(s[i] >= '0' && s[i] <= '9')
}int i = 0, j = len - 1;
while(i <= j)
else break;
} if(i > j) return true;
else return false;
}};
暴力求解,開闢了100010的陣列。
class solution
long long ans = 0;
if(s[i] == '-')
ans = ans * 10 + (-1 * (s[i] - '0'));
i++;
}if(ans < int_min) ans = int_min;
return ans;
}else return 0;
}else if(s[i] == '+')
ans = ans * 10 + (s[i] - '0');
i++;
}if(ans > int_max)
return ans;
}else return 0;
}else if(s[i] >= '0' && s[i] <= '9')
ans = ans * 10 + (s[i] - '0');
}if(ans > int_max) ans = 2147483647;
return ans;
}else return 0;
}};
1.判斷int溢位,最好用long來儲存資料,好處在於最後的值如果大於int_max or int_min,則直接返回int_max or int_min。
2.溢位公式,在每次迴圈乘之前,判斷ans > int_max / 10 || ( ans == int_max && s[i] > '7') ,如果條件滿足,則肯定溢位,直接返回 int_max (int_min 的話是'8' , 取決於int型的取值範圍的最後一位數字)
3.c++中,直接用int_max 或者 int_min
Leetcode初級演算法
不是很難的一道動態規劃的題,感覺做多了就記住了。class solution return dp n 此題想法就是,只要後面買的減去前面買的能大於0,就算在內,每次買完和max比較,大於max就記錄為max,如果買的sum小於0了,重新開始買,sum記為0 class solution if sum...
Leetcode 初級演算法02
了解的知識 1.空間複雜度 空間複雜度 space complexity 是對乙個演算法在執行過程中臨時占用儲存空間大小的量度。這樣子理解起來有點困難,我們又了解到當乙個演算法的空間複雜度為乙個常量,即不隨被處理資料量n的大小而改變時,可表示為o 1 舉兩個例子 a.陣列的隨機訪問就是o 1 b.鍊...
Leetcode 初級演算法 動態規劃
二級標題格式 章節內題號 題庫內題號 題目標題 這一章節學的不是很好 我的思路 先想了乙個遞迴的解法 發現跑的非常慢 才意識到需要乙個動態規劃的解法 遞迴 12s 巨慢 public intclimbstairs int n 動態規劃 全陣列 public intclimbstairs int n ...