From e3a6781f3ca83b17584162b99c36e54e3a4721cc Mon Sep 17 00:00:00 2001 From: Bharat Sharma <73884874+bharat733@users.noreply.github.com> Date: Sun, 24 Oct 2021 03:00:12 +0530 Subject: [PATCH] Create NextPermutation --- java-program/NextPermutation | 39 ++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 java-program/NextPermutation diff --git a/java-program/NextPermutation b/java-program/NextPermutation new file mode 100644 index 0000000..2a219cd --- /dev/null +++ b/java-program/NextPermutation @@ -0,0 +1,39 @@ +class Solution { + public void nextPermutation(int[] nums) { + + int i=nums.length-2; + while(i>=0 && nums[i]>=nums[i+1]){ + i--; + } + + if(i>=0) + { + int j=nums.length-1; + while(j>=0 && nums[j]<=nums[i]) + { + j--; + } + swap(nums,i,j); + } + reverse(nums,i+1); + + } + + public void swap(int nums[],int i,int j) + { + int temp=nums[i]; + nums[i]=nums[j]; + nums[j]=temp; + } + + public void reverse(int nums[],int start) + { + int end=nums.length-1; + while(start