原创 返回比當前數字大的最小的素數

int getNextPrime(int a) {     if( a == 1 || a == 2 || a == 3)     {         return a;     }     for(;;)     {         i

原创 今天發現的兩處代碼問題

1. 插入排序 void insert_sort(int *nums, int s, int e) { int i, j; for(i = s+1; i <= e; ++i) {

原创 快速排序(Hoare 分割)

1. 使用 median of three得到分割點 2.當待排序數組的長度小於閾值(10)的時候,切換到插入排序 代碼: void insertion_sort(int *a, int start, int end) { int i

原创 二分法中間值的選擇

1)mid 向下取整 while( left < right) { int mid = (right - left)/2 + left; if( check(mid) ) { left = mid

原创 LeetCode 43: multiply strings(大數相乘)

Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2, also represe

原创 檢查GCC 支持的C語言版本

可以使用如下的命令: gcc -dM -E - < /dev/null 這個命令的解釋如下:        -dCHARS            CHARS is a sequence of one or more of the fol

原创 作爲標準輸入的hypen "-"

符號 "-"可以在命令行作爲標準輸入。 比如: $ gzip -dc tmp2.tar.gz | tar xvf - tmp2/ tmp2/file2 tmp2/file1 tar命令把第一個命令的輸出作爲 -f的輸入 上面這個命

原创 嵌入式系統節省內存的一種方法

嵌入式系統內存往往是有限制的(成本考慮),因此需要儘量支持更多的功能,同時儘量減少使用的內存。 一種方法是把需要支持的功能做成共享庫的形式,需要這個功能的時候加載共享庫,不需要的時候卸載共享庫,從而把內存釋放出來。 下面舉個例子說明。

原创 查找山脈數組的最大值

何爲山脈數組?如果數組 A 是一個山脈數組的話,那它滿足如下條件: 首先,A.length >= 3 其次,在 0 < i < A.length - 1 條件下,存在 i 使得:     A[0] < A[1] < ... A[i-1]

原创 Leet code 704. 二分查找

給定一個 n 個元素有序的(升序)整型數組 nums 和一個目標值 target  ,寫一個函數搜索 nums 中的 target,如果目標值存在返回下標,否則返回 -1。 示例 1: 輸入: nums = [-1,0,3,5,9,12

原创 ubuntu 16.04上 安裝 opencv4.

cmake 命令: cmake -D UILD_opencv_python3=YES -D CMAKE_BUILD_TYPE=Debug -D CMAKE_INSTALL_PREFIX=$HOME/install -D OPENCV_

原创 LeetCode: 153. 尋找旋轉排序數組中的最小值

假設按照升序排序的數組在預先未知的某個點上進行了旋轉。 ( 例如,數組 [0,1,2,4,5,6,7] 可能變爲 [4,5,6,7,0,1,2] )。 請找出其中最小的元素。 你可以假設數組中不存在重複元素。 示例 1: 輸入: [3,4

原创 Leetcode: 33. 搜索旋轉排序數組

假設按照升序排序的數組在預先未知的某個點上進行了旋轉。 ( 例如,數組 [0,1,2,4,5,6,7] 可能變爲 [4,5,6,7,0,1,2] )。 搜索一個給定的目標值,如果數組中存在這個目標值,則返回它的索引,否則返回 -1 。 你

原创 使用 meson編譯 EFL庫

最近EFL(https://www.enlightenment.org/download)  代碼使用meson來編譯了。 編譯方法如下: CFLAGS="-O -g -ffast-math -march=native -ggdb3" m

原创 怎麼判斷linux庫文件在編譯的時候與沒有用 -g 選項

先寫一個簡單的文件1.c: $ cat 1.c void foo(void) { } 然後編譯兩個庫,一個不加 -g, 一個加: gcc 1.c  -c gdb -shared -fpic -o lib1.so 1.o cp 1.c