diff --git a/Combination Sum II/combination_sum_II.py b/Combination Sum II/combination_sum_II.py new file mode 100644 index 0000000..e69de29 diff --git a/Next Permutation/new_permutation.java b/Next Permutation/new_permutation.java new file mode 100644 index 0000000..be92e64 --- /dev/null +++ b/Next Permutation/new_permutation.java @@ -0,0 +1,30 @@ +class Solution { + public void nextPermutation(int[] nums) { + + int infPoint=-1; + for(int i=nums.length-1;i>0;i--){ + if (nums[i]>nums[i-1]){ + infPoint=i-1; + break; + } + } + + if (infPoint != -1){ + for(int j=nums.length-1;j>0;j--){ + if (nums[infPoint]& nums) { + int n=nums.size(); + int i,j; + for(i=n-2;i>=0;i--){ + if(nums[i]i;j--){ + if(nums[j]>nums[i]) break; + } + swap(nums[j],nums[i]); + reverse(nums.begin()+i+1,nums.end()); + } +}; diff --git a/trappingRainWater.cpp b/trappingRainWater.cpp new file mode 100644 index 0000000..aaa370b --- /dev/null +++ b/trappingRainWater.cpp @@ -0,0 +1,18 @@ +class Solution { +public: + int trap(vector& height) { + int n=height.size(); + int left=0,right=n-1,sum=0,mleft=0,mright=0; + for(int i=0;i=mleft?mleft=height[left]:sum+=(mleft-height[left]); + left++; + } + else{ + height[right]>=mright?mright=height[right]:sum+=(mright-height[right]); + right--; + } + } + return sum; + } +};