Skip to content

Commit

Permalink
Find Minimum In Rotated Sorted Array
Browse files Browse the repository at this point in the history
  • Loading branch information
shamstabrez16 committed Oct 17, 2023
1 parent cccb138 commit 7d9f506
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 0 deletions.
18 changes: 18 additions & 0 deletions src/main/java/Array/FindMinimumInRotatedSortedArray.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package Array;

public class FindMinimumInRotatedSortedArray {
public int findMin(int[] nums) {
int left = 0;
int right = nums.length-1;
while (left<right){
int mid = (left+right)/2;
if(nums[mid]<nums[right]){
right = mid;
}
else {
left = mid+1;
}
}
return nums[left];
}
}
53 changes: 53 additions & 0 deletions src/test/java/TestFindMinimumInRotatedSortedArray.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import Array.FindMinimumInRotatedSortedArray;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

public class TestFindMinimumInRotatedSortedArray {
private FindMinimumInRotatedSortedArray rotatedSortedArray;

@Before
public void setUp() {
rotatedSortedArray = new FindMinimumInRotatedSortedArray();
}

@Test
public void TestCase1() {
int[] nums = {3, 4, 5, 1, 2};
int expectedOutput= 1;
Assert.assertEquals(expectedOutput, rotatedSortedArray.findMin(nums));
}
@Test
public void TestCase2() {
int[] nums = {4, 5, 6, 7, 0, 1, 2};
int expectedOutput= 0;
Assert.assertEquals(expectedOutput, rotatedSortedArray.findMin(nums));
}

@Test
public void TestCase3() {
int[] nums = {11, 13, 15, 17};
int expectedOutput= 11;
Assert.assertEquals(expectedOutput, rotatedSortedArray.findMin(nums));
}

@Test
public void TestCase4() {
int[] nums = {3,1,2};
int expectedOutput= 1;
Assert.assertEquals(expectedOutput, rotatedSortedArray.findMin(nums));
}
@Test
public void TestCase5() {
int[] nums = {2,1};
int expectedOutput= 1;
Assert.assertEquals(expectedOutput, rotatedSortedArray.findMin(nums));
}

@Test
public void TestCase6() {
int[] nums = {5,1,2,3,4};
int expectedOutput= 1;
Assert.assertEquals(expectedOutput, rotatedSortedArray.findMin(nums));
}
}

0 comments on commit 7d9f506

Please sign in to comment.