原创 ZYNQ AXIDMA詳解

轉載出處: https://www.cnblogs.com/batianhu/p/zynq_axidma_xiangjie1.html 一、基本概念 AXIDMA: 官方解釋是爲內存與AXI4-Stream外設之間提供高帶寬的直接存儲訪問

原创 linux原始套接字

通常情況下程序員接所接觸到的套接字(Socket)爲兩類: (1)流式套接字(SOCK_STREAM):一種面向連接的 Socket,針對於面向連接的TCP 服務應用; (2)數據報式套接字(SOCK_DGRAM):一種無連接的 Sock

原创 leetcode[9]:迴文數 C語言解法

判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右讀, 爲 -121 。 從右向

原创 leetcode[206]:反轉鏈表 C語言解法

反轉一個單鏈表。 示例: 輸入: 1->2->3->4->5->NULL 輸出: 5->4->3->2->1->NULL 進階: 你可以迭代或遞歸地反轉鏈表。你能否用兩種方法解決這道題   /** * Definition for

原创 leetcode[70]:爬樓梯 C語言解法

假設你正在爬樓梯。需要 n 階你才能到達樓頂。 每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢? 注意:給定 n 是一個正整數。 示例 1: 輸入: 2 輸出: 2 解釋: 有兩種方法可以爬到樓頂。 1. 1 階

原创 ARM獨佔訪問指令ldrex、strex

爲了實現線程間同步,一般都要在執行關鍵代碼段之前加互斥(Mutex)鎖,且在執行完關鍵代碼段之後解鎖。爲了實現所謂的互斥鎖的概念,一般都需要所在平臺提供支持。 本文主要用來說明ARM平臺上特有的獨佔訪問指令LDREX和STREX的工作原理

原创 leetcode[83]:刪除排序鏈表中的重複元素 C語言解法

給定一個排序鏈表,刪除所有重複的元素,使得每個元素只出現一次。 示例 1: 輸入: 1->1->2 輸出: 1->2 示例 2: 輸入: 1->1->2->3->3 輸出: 1->2->3 /** * Definition fo

原创 leetcode[141]:環形鏈表 C語言解法

給定一個鏈表,判斷鏈表中是否有環。 爲了表示給定鏈表中的環,我們使用整數 pos 來表示鏈表尾連接到鏈表中的位置(索引從 0 開始)。 如果 pos 是 -1,則在該鏈表中沒有環。   示例 1: 輸入:head = [3,2,0,-4

原创 leetcode[1]:兩數之和 C語言解法

給定一個整數數組 nums 和一個目標值 target,請你在該數組中找出和爲目標值的那 兩個 整數,並返回他們的數組下標。 你可以假設每種輸入只會對應一個答案。但是,你不能重複利用這個數組中同樣的元素。 示例: 給定 nums = [

原创 leetcode[172]:階乘後的0 C語言解法

給定一個整數 n,返回 n! 結果尾數中零的數量。 示例 1: 輸入: 3 輸出: 0 解釋: 3! = 6, 尾數中沒有零。 示例 2: 輸入: 5 輸出: 1 解釋: 5! = 120, 尾數中有 1 個零. int trail

原创 leetcode[2]:兩數相加 C語言解法

給出兩個 非空 的鏈表用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式存儲的,並且它們的每個節點只能存儲 一位 數字。 如果,我們將這兩個數相加起來,則會返回一個新的鏈表來表示它們的和。 您可以假設除了數字 0 之外,這兩

原创 leetcode[442]:數組中重複的數據 C語言解法

給定一個整數數組 a,其中1 ≤ a[i] ≤ n (n爲數組長度), 其中有些元素出現兩次而其他元素出現一次。 找到所有出現兩次的元素。 你可以不用到任何額外空間並在O(n)時間複雜度內解決這個問題嗎? 示例: 輸入: [4,3,2,

原创 leetcode[3]:無重複字符的最長子串 C語言解法

給定一個字符串,請你找出其中不含有重複字符的 最長子串 的長度。 示例 1: 輸入: "abcabcbb" 輸出: 3 解釋: 因爲無重複字符的最長子串是 "abc",所以其長度爲 3。 示例 2: 輸入: "bbbbb" 輸出:

原创 leetcode[21]:合併兩個有序鏈表 C語言解法

/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */

原创 leetcode[617]:合併二叉樹 C語言解法

給定兩個二叉樹,想象當你將它們中的一個覆蓋到另一個上時,兩個二叉樹的一些節點便會重疊。 你需要將他們合併爲一個新的二叉樹。合併的規則是如果兩個節點重疊,那麼將他們的值相加作爲節點合併後的新值,否則不爲 NULL 的節點將直接作爲新二叉樹的