Skip to content

Commit d507472

Browse files
Array Problems Fixed
1 parent a0a466c commit d507472

13 files changed

Lines changed: 139 additions & 0 deletions

1 Arrays/TwoSum.java renamed to 1 Leetcode Easy Problems/Leetcode 1 TwoSum.java

File renamed without changes.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import java.util.*;
2+
3+
class Solution {
4+
public List<List<Integer>> generate(int numRows) {
5+
if (numRows == 1) {
6+
List<List<Integer>> result = new ArrayList<>();
7+
List<Integer> firstRow = new ArrayList<>();
8+
firstRow.add(1);
9+
result.add(firstRow);
10+
return result;
11+
}
12+
13+
List<List<Integer>> previousRows = generate(numRows - 1);
14+
List<Integer> lastRow = previousRows.get(numRows - 2);
15+
List<Integer> newRow = new ArrayList<>();
16+
newRow.add(1);
17+
18+
for(int i = 1; i < numRows - 1; i++) {
19+
newRow.add(lastRow.get(i-1) + lastRow.get(i));
20+
}
21+
newRow.add(1);
22+
previousRows.add(newRow);
23+
return previousRows;
24+
}
25+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
class Solution {
2+
public int maxProfit(int[] prices) {
3+
int maxProfit = 0;
4+
int minPrice = Integer.MAX_VALUE;
5+
6+
for (int i = 0; i < prices.length; i++) {
7+
if (minPrice > prices[i]) {
8+
minPrice = prices[i];
9+
} else {
10+
int profit = prices[i] - minPrice;
11+
if (profit > maxProfit) {
12+
maxProfit = profit;
13+
}
14+
}
15+
}
16+
17+
return maxProfit;
18+
}
19+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
class Solution {
2+
public int majorityElement(int[] nums) {
3+
int majority = 0;
4+
5+
for (int i = 0; i < 32; i++) {
6+
int bit = 1 << i;
7+
8+
int count = 0;
9+
for (int num: nums) {
10+
if ((num & bit) != 0) {
11+
count++;
12+
}
13+
}
14+
15+
if (count > nums.length / 2) {
16+
majority |= bit;
17+
}
18+
}
19+
20+
return majority;
21+
}
22+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import java.util.*;
2+
3+
class Solution {
4+
public boolean containsDuplicate(int[] nums) {
5+
Set<Integer> numSet = new HashSet<>();
6+
for (int num: nums) {
7+
if (numSet.add(num) == false) {
8+
return true;
9+
}
10+
}
11+
return false;
12+
}
13+
}

1 Arrays/RemoveDuplicatesSortedArray.java renamed to 1 Leetcode Easy Problems/Leetcode 26 Remove Duplicates from Sorted Array.java

File renamed without changes.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
class Solution {
2+
public int removeElement(int[] nums, int val) {
3+
int j = 0;
4+
for (int i = 0; i < nums.length; i++) {
5+
if (nums[i] != val) {
6+
nums[j] = nums[i];
7+
j++;
8+
}
9+
}
10+
return j;
11+
}
12+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
class Solution {
2+
public int searchInsert(int[] nums, int target) {
3+
int i = 0;
4+
while (i < nums.length) {
5+
if (nums[i] >= target) {
6+
break;
7+
}
8+
i++;
9+
}
10+
return i;
11+
}
12+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
class Solution {
2+
public int[] plusOne(int[] digits) {
3+
for (int i = digits.length - 1; i >= 0; i--) {
4+
if (digits[i] != 9) {
5+
digits[i]++;
6+
return digits;
7+
} else {
8+
digits[i] = 0;
9+
}
10+
}
11+
12+
int[] newDigits = new int[digits.length + 1];
13+
newDigits[0] = 1;
14+
return newDigits;
15+
}
16+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
class Solution {
2+
public void merge(int[] nums1, int m, int[] nums2, int n) {
3+
int i = m-1;
4+
int j = n-1;
5+
int k = nums1.length - 1;
6+
7+
// O(m+n)
8+
while (j >= 0) {
9+
if (i >= 0 && nums1[i] > nums2[j]) {
10+
nums1[k] = nums1[i];
11+
i--;
12+
k--;
13+
} else {
14+
nums1[k] = nums2[j];
15+
j--;
16+
k--;
17+
}
18+
}
19+
}
20+
}

0 commit comments

Comments
 (0)