LeetCode初級演算法C

2021-10-24 17:30:12 字數 1113 閱讀 3087

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 ...