Skip to content

Commit aef77bc

Browse files
author
lihen.sj
committed
Java solution 283 & 292
1 parent 825d17a commit aef77bc

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed

java/_283MoveZeroes.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/**
2+
* Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements.
3+
*
4+
* For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0].
5+
*
6+
* Note:
7+
* You must do this in-place without making a copy of the array.
8+
* Minimize the total number of operations.
9+
*/
10+
11+
public class _283MoveZeroes {
12+
public void moveZeroes(int[] nums) {
13+
if (nums == null || nums.length == 0) {
14+
return;
15+
}
16+
int index = 0;
17+
for (int i = 0; i < nums.length; i++) {
18+
if (nums[i] != 0) {
19+
nums[index++] = nums[i];
20+
}
21+
}
22+
for (int i = index; i < nums.length; i++) {
23+
nums[i] = 0;
24+
}
25+
}
26+
}

java/_292NimGame.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/**
2+
* You are playing the following Nim Game with your friend: There is a heap of stones on the table, each time one of you take turns to remove 1 to 3 stones. The one who removes the last stone will be the winner. You will take the first turn to remove the stones.
3+
*
4+
* Both of you are very clever and have optimal strategies for the game. Write a function to determine whether you can win the game given the number of stones in the heap.
5+
*
6+
* For example, if there are 4 stones in the heap, then you will never win the game: no matter 1, 2, or 3 stones you remove, the last stone will always be removed by your friend.
7+
*/
8+
public class _292NimGame {
9+
public boolean canWinNim(int n) {
10+
return n % 4 != 0;
11+
}
12+
}

0 commit comments

Comments
 (0)