Skip to content

Instantly share code, notes, and snippets.

View begeekmyfriend's full-sized avatar

Leo Ma begeekmyfriend

View GitHub Profile
@begeekmyfriend
begeekmyfriend / merge_sort.c
Last active February 21, 2024 04:02
Merge sort demo
#include <stdio.h>
#include <stdlib.h>
static void show(int *nums, int lo, int hi)
{
int i;
for (i = lo; i <= hi; i++) {
printf("%d ", nums[i]);
}
@begeekmyfriend
begeekmyfriend / priority_queue.c
Last active December 11, 2023 03:56
Priority queue
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
static inline void swap(int *a, int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
@begeekmyfriend
begeekmyfriend / Viterbi.py
Created May 1, 2020 10:18
Viberbi Algorithm
import numpy as np
def decode(self, X, pi, A, B, N):
T = len(X)
delta = pi * B[:,X[0]] # P(X, Z | lamda)
varphi = np.zeros((T, N), dtype=int)
path = [0] * T
for i in range(1, T):
delta = delta.reshape(-1,1) # Nx1
tmp = delta * self.A # NxN
@begeekmyfriend
begeekmyfriend / persudo_random_generator.c
Created January 4, 2018 05:51
Persudo random generator according to benchmark
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
int main(void)
{
int i, j, k;
int dim = 11;
int num = 1024 * 1024;
void sort(int *nums, int size)
{
int i, flag = size;
while (flag > 0) {
int len = flag;
flag = 0;
for (i = 1; i < len; i++) {
if (nums[i - 1] > nums[i]) {
int tmp = nums[i - 1];
nums[i - 1] = nums[i];
void sort(int *nums, int size)
{
int i, j;
for (i = 1; i < size; i++) {
int tmp = nums[i];
for (j = i; j > 0 && tmp < nums[j - 1]; j--) {
nums[j] = nums[j - 1];
}
nums[j] = tmp;
}
#include <stdio.h>
#include <stdlib.h>
static inline void swap(int *a, int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
#include <stdio.h>
#include <stdlib.h>
static void show(int *nums, int lo, int hi)
{
int i;
for (i = lo; i <= hi; i++) {
printf("%d ", nums[i]);
}
@begeekmyfriend
begeekmyfriend / bag.c
Last active September 30, 2023 12:14
0-1 bag problem
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* https://zhuanlan.zhihu.com/p/345364527 */
static inline int max(int a, int b)
{
return a > b ? a : b;
}
@begeekmyfriend
begeekmyfriend / build_ffmpeg_with_libx264_libaacplus.sh
Created May 9, 2016 02:15
cross building ffmpeg with libx264 and libaacplus for Android
HOST=linux-x86_64
NDK=/opt/android-ndk-r8e
PLATFORM=$NDK/platforms/android-14/arch-arm
PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/$HOST
CPU=armv7-a
PREFIX=$(pwd)/../build_android/$CPU