![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
永仁永仁
这个作者很懒,什么都没留下…
展开
-
LeetCode 50. Pow(x, n)
快速幂本题要求x的n次方,n很大,所以O(n)的解法肯定不行,只能考虑O(logn)复杂度的解法。我们可以想到,若nnn为偶数,xn=(x2)n/2xn=(x2)n/2x^n=(x^2)^{n/2},若nnn为奇数,则xn=x⋅x(n−1)/2xn=x·x(n−1)/2x^n=x·x^{(n-1)/2},由此可以想到由递归方式来解决。代码:class Solution {pu...原创 2018-07-07 01:00:07 · 184 阅读 · 0 评论 -
LeetCode 70. Climbing Stairs
递推公式:dp[i]=dp[i−1]+dp[i−2];dp[0]=1,dp[1]=1dp[i]=dp[i−1]+dp[i−2];dp[0]=1,dp[1]=1dp[i] = dp[i-1]+dp[i-2];dp[0]=1,dp[1]=1class Solution {public: int climbStairs(int n) { vector<int>...原创 2018-09-07 22:01:00 · 144 阅读 · 0 评论 -
LeetCode 746. Min Cost Climbing Stairs
递推公式:dp[i]=min(dp[i−1]+cost[i],dp[i−2]+cost[i])dp[i]=min(dp[i−1]+cost[i],dp[i−2]+cost[i])dp[i] = min(dp[i-1]+cost[i] , dp[i-2] + cost[i])class Solution {public: int minCostClimbingStairs(vector...原创 2018-09-07 22:31:37 · 170 阅读 · 0 评论 -
LeetCode 53. Maximum Subarray
最大连续子序列和class Solution {public: int maxSubArray(vector<int>& nums) { int l = nums.size(); vector<int> dp; dp.push_back(max(0,nums[0])); int ans...原创 2018-09-05 23:00:49 · 124 阅读 · 0 评论 -
LeetCode 198. House Robber
class Solution {public: int rob(vector<int>& nums) { vector<int> dp; int n = nums.size(); dp.push_back(0); int ans = 0; for(int i=0;i<n;...原创 2018-09-09 22:09:55 · 142 阅读 · 0 评论 -
LeetCode 303. Range Sum Query - Immutable
class NumArray {public: vector<int> dp; NumArray(vector<int> nums) { dp.clear(); int n = nums.size(); if(n==0) return; dp.push_back(nums[0]); ...原创 2018-09-16 23:13:55 · 146 阅读 · 0 评论 -
LeetCode 910. Smallest Range II
最小差值 II这题感觉还是挺考验思维的。首先可以想到,差值的最大值就是A中最大和最小值之间的差,经过我们优化后的结果肯定是小于等于这个值的。然后我们再可以想到,我们优化的话对于A中最大值肯定是减去K,对A中最小值肯定是加上K。首先我们对A排序,然后再推广的话就可以想到:若 A[i]是做减操作,A[i]后的元素肯定也是做减操作,这样可以保证最小值的范围不会变大。同理若A[i]是做加操作,A[i...原创 2018-10-06 15:03:06 · 336 阅读 · 0 评论 -
LeetCode 168. Excel Sheet Column Title
class Solution {public: string convertToTitle(int n) { string res = ""; string table[] ={"Z","A","B","C","D","E&qu原创 2018-10-07 11:11:25 · 302 阅读 · 2 评论