Skip to content

Instantly share code, notes, and snippets.

@Jimexist
Jimexist / print_paren.c
Created March 23, 2014 03:55
generate paren
#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
#define MAX(A, B) ((A)>(B)?(A):(B))
static void print_paren(int n);
static void do_print(int n, int* idx, int k);
static void print_result(int n, int* idx);
@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;
}
@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 / 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 / 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 / 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 / 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 / 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 / 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 / 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