diff --git a/128-longest-consecutive-sequence.cpp b/128-longest-consecutive-sequence.cpp new file mode 100644 index 0000000..6a9886e --- /dev/null +++ b/128-longest-consecutive-sequence.cpp @@ -0,0 +1,27 @@ +//128-longest-consecutive-sequence.cpp +class Solution { +public: + int longestConsecutive(vector& arr) { + int n = arr.size(); + if(n == 0) return 0; + + sort(arr.begin(), arr.end()); + + int mxLen = 0, currLen = 1; + + for(int i = 1; i < n; i++) + { + if(arr[i] == arr[i - 1] + 1) + { + currLen++; + } + else if(arr[i] != arr[i - 1]) + { + mxLen = max(mxLen, currLen); + currLen = 1; + } + } + mxLen = max(mxLen, currLen); + return mxLen; + } +}; diff --git a/198-house-robber.cpp b/198-house-robber.cpp new file mode 100644 index 0000000..f69fb60 --- /dev/null +++ b/198-house-robber.cpp @@ -0,0 +1,19 @@ +//198-house-robber.cpp + +class Solution { +public: + int solve(vector& nums, int i, vector& dp) + { + if(i>=nums.size()) + return 0; + if(dp[i]!=-1) + return dp[i]; + return dp[i]=max(solve(nums,i+1,dp), nums[i]+ solve(nums,i+2,dp)); + } + + int rob(vector& nums) + { + vector dp(nums.size()+1,-1); + return solve(nums,0,dp); + } +};