diff --git a/coin-change b/coin-change new file mode 100644 index 00000000..7b82c1fa --- /dev/null +++ b/coin-change @@ -0,0 +1,19 @@ +// Time complexity - O(n) +// Space complexity - O(n) + +class Solution { +public: + int coinChange(vector& coins, int amount) { + int n = coins.size(); + vector dp(amount+1, amount+1); + dp[0] = 0; + for (int i=1;i<=amount;i++) { + for (int j=0;j= amount+1 ? -1 : dp[amount]; + } +}; diff --git a/house-robber b/house-robber new file mode 100644 index 00000000..d986b3d9 --- /dev/null +++ b/house-robber @@ -0,0 +1,27 @@ +Time complexity - O(n) +Space complexity - O(1) + +class Solution { +public: + int rob(vector& nums) { + int n = nums.size(); + vector dp(n, 0); + + if (n == 1) + return nums[0]; + + if (n == 2) + return max(nums[0], nums[1]); + + dp[0]=nums[0]; + dp[1]=max(nums[0], nums[1]); + + int result = max(dp[0], dp[1]); + + for (int i = 2;i