Skip to content

Instantly share code, notes, and snippets.

View hsaputra's full-sized avatar

Henry Saputra hsaputra

View GitHub Profile
Given an array nums with n objects colored red, white, or blue, sort them in-place so that objects of the same color are adjacent, with the colors in the order red, white, and blue.
We will use the integers 0, 1, and 2 to represent the color red, white, and blue, respectively.
You must solve this problem without using the library's sort function.
Example 1:
Input: nums = [2,0,2,1,1,0]
Output: [0,0,1,1,2,2]
@hsaputra
hsaputra / gist:5aa1f85db774d880a98d564277d07429
Created January 24, 2021 06:35
Set JAVA_HOME Linux ...
Add it to your ~/.bashrc file"
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
class Solution {
public int ladderLength(String beginWord, String endWord, List<String> wordList) {
// check input
if (!wordList.contains(endWord)) {
return 0;
}
// We are going to use BFS to build the graph of the beginWord to endWord using
// all words in the wordList
@hsaputra
hsaputra / gist:6c5641aca130d3bf4d73e3e63197c9b5
Created March 19, 2019 16:00
Docker - remove all containers based on container id
# for each container ID use the docker "rm" command to remove/delete the container
!for cid in $(docker ps -a | awk '{print $1}' | tail -n +2);do docker rm $cid; done
@hsaputra
hsaputra / gist:afcabb8b5f38654a976fb05e82716c73
Created March 19, 2019 15:59
Docker - generate a list of container ID from the docker ps command
# generate a list of container ID from the docker ps command
!docker ps -a | awk '{print $1}' | tail -n +2
/**
* Definition for an interval.
* public class Interval {
* int start;
* int end;
* Interval() { start = 0; end = 0; }
* Interval(int s, int e) { start = s; end = e; }
* }
*/
class Solution {
class Solution {
public int trap(int[] height) {
int count = 0;
int left = 0;
int right = height.length - 1;
int maxLeft = 0;
int maxRight = 0;
while (left < right) {
class Solution {
public int[] productExceptSelf(int[] nums) {
int[] results = new int[nums.length];
int[] left = new int[nums.length];
Arrays.fill(left, 1);
// [1, 2, 3, 4]
// [1, 1, 2, 6]
for (int i = 1; i < nums.length; i++) {
class Solution {
public int leastInterval(char[] tasks, int n) {
if (n < 0 ) {
return 0;
}
// Group tasks
int[] count = new int[26];
for (char cur : tasks) {
int pos = cur - 'A';
@hsaputra
hsaputra / gist:d2cc3a1fbe8cbb106b0d98679272d8c3
Last active November 10, 2018 17:41
33. Search in Rotated Sorted Array
class Solution {
// [4,5,6,7,0,1,2,3]
// [6,7,0,1,2,3,4,5]
public int search(int[] nums, int target) {
if (nums == null || nums.length == 0) {
return -1;
}
final int numsLen = nums.length;