Skip to content

Instantly share code, notes, and snippets.

View jimexist's full-sized avatar
:octocat:
Hiring Engineers

Jiayu Liu jimexist

:octocat:
Hiring Engineers
View GitHub Profile
@jimexist
jimexist / coin.c
Created October 1, 2014 23:33
Coin.c - minimal number of coins to get to a target amount
#include <stdio.h>
#include <stdlib.h>
int intcmp(const void *a, const void *b) {
return *((int *)a) - *((int *)b);
}
int min_coins(int coins[], size_t ncoins, int target) {
if (ncoins <=0 ) return 0;
qsort(coins, ncoins, sizeof(int), &intcmp);
@jimexist
jimexist / test_padding.c
Created July 4, 2014 04:39
test_padding.c
#include <stdio.h>
struct padded {
short s;
int i;
};
int main(int argc, char **argv) {
// this should give in memory (8 bytes):
// 0xffff1234, 0x00005678
@jimexist
jimexist / Circuits.java
Created June 9, 2014 00:36
Circuits.java
import java.util.*;
public final class Circuits {
public static int howLong(String[] connects, String[] costs) {
final int size = connects.length;
final int[][] m = new int[size][size];
for (int i=0; i<size; ++i) {
String c = connects[i];
@jimexist
jimexist / PathFinding.java
Created June 9, 2014 00:35
PathFinding.java
import java.util.*;
public final class PathFinding {
static final class State {
final int ax, ay, bx, by;
final int hash;
State(int ax, int ay, int bx, int by) {
this.ax = ax;
@jimexist
jimexist / Escape.java
Created June 8, 2014 08:58
Escape.java
import java.util.*;
public final class Escape {
private static final int size = 501;
private static final int NotSeen = -1;
private enum Type {
Normal, Harmful, Deadly
}
@jimexist
jimexist / KiloManX.java
Created June 8, 2014 08:56
KiloManX.java
import java.util.*;
/**
* SRM 181 Div 1 - 3rd
*/
public class KiloManX {
public static int leastShots(String[] damageChart, int[] bossHealth) {
final int size = bossHealth.length;
final int rows = 1 << size;
@jimexist
jimexist / guess.c
Created April 5, 2014 03:31
number guessing game
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<stdbool.h>
#define DUP (-1)
#define INVALID (-2)
static int comp(int a, int b, int c, int d) {
if (a == c) {
@jimexist
jimexist / Zigzag.java
Created April 5, 2014 03:30
given an array of integer, returns the maximun length of zig-zag subsequence
public final class Zigzag {
private Zigzag() {}
/**
* given an array of integer, returns the maximun length of zig-zag
* subsequence
*/
public static int zigzagSequence(int[] arr) {
if (arr.length < 2) {
@jimexist
jimexist / LowerBound.java
Created March 30, 2014 02:49
Lower Bound
import java.util.*;
public class LowerBound {
private LowerBound() {}
final static class Node {
Node left, right;
final int val;
public Node(int val) {
@jimexist
jimexist / interleave.c
Created March 30, 2014 02:14
interleave two halves of an array
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
static void swap(int* data, int c) {
for (int i=0; c > 0; i+=2, --c) {
int tmp = data[i];
data[i] = data[i+1];
data[i+1] = tmp;
}