Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 650ea07

Browse files
solves find all numbers that dissapeared
1 parent 9d2589a commit 650ea07

File tree

6 files changed

+103
-4
lines changed

6 files changed

+103
-4
lines changed

‎README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,13 @@
4343
| [Remove Duplicates from Sorted Array](https://leetcode.com/explore/learn/card/fun-with-arrays/511/in-place-operations/3258/) | [![Java](assets/java.png)](java/src/RemoveDuplicatesFromSortedArray.java) [![Python](assets/python.png)](python/remove_duplicate_elements_from_sorted_array.py) |
4444
| [Move Zeros](https://leetcode.com/explore/learn/card/fun-with-arrays/511/in-place-operations/3157/) | [![Java](assets/java.png)](java/src/MoveZeros.java) [![Python](assets/python.png)](python/move_zeros.py) |
4545
| [Sort Array By Parity](https://leetcode.com/explore/learn/card/fun-with-arrays/511/in-place-operations/3260/) | [![Java](assets/java.png)](java/src/SortArrayByParity.java) [![Python](assets/python.png)](python/sort_array_by_parity.py) |
46-
| [Remove Element](https://leetcode.com/explore/learn/card/fun-with-arrays/511/in-place-operations/3575/) | [![Java](assets/java.png)](java/src/) [![Python](assets/python.png)](python/) |
46+
| [Remove Element](https://leetcode.com/explore/learn/card/fun-with-arrays/511/in-place-operations/3575/) | [![Java](assets/java.png)](java/src/RemoveElement.java) [![Python](assets/python.png)](python/remove_element.py) |
4747

4848

4949
## Conclusion
5050
Name | Solution | Youtube |
5151
|------|:--------:|:----------------------:|
52-
| [Height Checker](https://leetcode.com/explore/learn/card/fun-with-arrays/523/conclusion/3228/) | [![Java](assets/java.png)](java/src/) [![Python](assets/python.png)](python/) |
53-
| [Third Maximum Number](https://leetcode.com/explore/learn/card/fun-with-arrays/523/conclusion/3231/) | [![Java](assets/java.png)](java/src/) [![Python](assets/python.png)](python/) |
54-
| [Find All Numbers Disappeared in an Array](https://leetcode.com/explore/learn/card/fun-with-arrays/523/conclusion/3270/) | [![Java](assets/java.png)](java/src/) [![Python](assets/python.png)](python/) |
52+
| [Height Checker](https://leetcode.com/explore/learn/card/fun-with-arrays/523/conclusion/3228/) | [![Java](assets/java.png)](java/src/HeightChecker.java) [![Python](assets/python.png)](python/) |
53+
| [Third Maximum Number](https://leetcode.com/explore/learn/card/fun-with-arrays/523/conclusion/3231/) | [![Java](assets/java.png)](java/src/ThirdMaximumNumber.java) [![Python](assets/python.png)](python/third_maximum_number.py) |
54+
| [Find All Numbers Disappeared in an Array](https://leetcode.com/explore/learn/card/fun-with-arrays/523/conclusion/3270/) | [![Java](assets/java.png)](java/src/FindAllNumbersDisappearedInAnArray.java) [![Python](assets/python.png)](python/find_all_numbers_that_dissapeared.py) |
5555
| [Squares of a Sorted Array](https://leetcode.com/explore/learn/card/fun-with-arrays/523/conclusion/3574/) | [![Java](assets/java.png)](java/src/) [![Python](assets/python.png)](python/) |
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import java.util.ArrayList;
2+
import java.util.List;
3+
4+
public class FindAllNumbersDisappearedInAnArray {
5+
public List<Integer> findDisappearedNumbers(int[] array) {
6+
for (int element : array) {
7+
if (element != 0) {
8+
markUsed(array, element - 1);
9+
}
10+
}
11+
List<Integer> result = new ArrayList<>();
12+
for (int index = 0 ; index < array.length ; index++) {
13+
if (array[index] != 0)
14+
result.add(index + 1);
15+
}
16+
return result;
17+
}
18+
19+
private void markUsed(int[] array, int index) {
20+
if (array[index] == 0) return;
21+
int value = array[index];
22+
array[index] = 0;
23+
markUsed(array, value - 1);
24+
}
25+
}

‎java/src/HeightChecker.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import java.util.Arrays;
2+
3+
public class HeightChecker {
4+
public int heightChecker(int[] heights) {
5+
int[] expected = Arrays.stream(heights).sorted().toArray();
6+
int differences = 0;
7+
for (int index = 0 ; index < expected.length ; index++) {
8+
if (heights[index] != expected[index]) differences++;
9+
}
10+
return differences;
11+
}
12+
}

‎java/src/ThirdMaximumNumber.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
public class ThirdMaximumNumber {
2+
public static int thirdMax(int[] array) {
3+
if (array.length == 1) return array[0];
4+
if (array.length == 2) return Math.max(array[0], array[1]);
5+
long max = array[0], secondMax = Long.MIN_VALUE, thirdMax = Long.MIN_VALUE;
6+
for (int index = 1 ; index < array.length ; index++) {
7+
if (array[index] > max) {
8+
thirdMax = secondMax;
9+
secondMax = max;
10+
max = array[index];
11+
} else if (array[index] > secondMax && array[index] < max) {
12+
thirdMax = secondMax;
13+
secondMax = array[index];
14+
} else if (array[index] > thirdMax&& array[index] < secondMax) {
15+
thirdMax = array[index];
16+
}
17+
}
18+
return (int) (thirdMax == Long.MIN_VALUE ? max : thirdMax);
19+
}
20+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from typing import List
2+
3+
4+
class Solution:
5+
def markUsed(self, array: List[int], index: int) -> None:
6+
if array[index] == 0:
7+
return
8+
value = array[index]
9+
array[index] = 0
10+
self.markUsed(array, value - 1)
11+
12+
def findDisappearedNumbers(self, nums: List[int]) -> List[int]:
13+
for element in nums:
14+
if element != 0:
15+
self.markUsed(nums, element - 1)
16+
result = []
17+
for index, element in enumerate(nums):
18+
if element != 0:
19+
result.append(index + 1)
20+
return result

‎python/third_maximum_number.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from typing import List
2+
3+
4+
class Solution:
5+
def thirdMax(self, array: List[int]) -> int:
6+
if len(array) == 1: return array[0]
7+
if len(array) == 2: return max(array[0], array[1])
8+
infinity = float('inf')
9+
first, second, third = array[0], -infinity, -infinity
10+
index = 1
11+
while index < len(array):
12+
if array[index] > first:
13+
third = second
14+
second = first
15+
first = array[index]
16+
elif second < array[index] < first:
17+
third = second
18+
second = array[index]
19+
elif third < array[index] < second:
20+
third = array[index]
21+
index += 1
22+
return first if third == -infinity else third

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /