Deep_l_zh的博客

敏于思而慎于言

linux原始套接字

通常情况下程序员接所接触到的套接字(Socket)为两类: (1)流式套接字(SOCK_STREAM):一种面向连接的 Socket,针对于面向连接的TCP 服务应用; (2)数据报式套接字(SOCK_DGRAM):一种无连接的 Socket,对应于无连接的 UDP 服务应用。 从用户的角度来看...

2019-03-28 14:33:06

阅读数 13

评论数 0

ARM独占访问指令ldrex、strex

为了实现线程间同步,一般都要在执行关键代码段之前加互斥(Mutex)锁,且在执行完关键代码段之后解锁。为了实现所谓的互斥锁的概念,一般都需要所在平台提供支持。 本文主要用来说明ARM平台上特有的独占访问指令LDREX和STREX的工作原理,以及如何使用。而它们也是ARM平台上,实现互斥锁等线程同...

2019-03-24 11:44:35

阅读数 51

评论数 0

将一个输入字符串按照字符从小到大的顺序输出,并且剔除相同的字符串

#include <stdio.h> #include <string.h> #include <memory.h> /* * @brief str_process 将输入的字符串中重复的部分剔除,并且排序...

2019-03-24 11:37:14

阅读数 90

评论数 0

leetcode[21]:合并两个有序链表 C语言解法

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

2019-03-24 11:37:09

阅读数 21

评论数 0

leetcode[1]:两数之和 C语言解法

给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nu...

2019-03-24 11:37:04

阅读数 32

评论数 0

leetcode[2]:两数相加 C语言解法

给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0开头。 示例: 输入:(2 ->...

2019-03-24 11:36:58

阅读数 16

评论数 0

leetcode[3]:无重复字符的最长子串 C语言解法

给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。 示例1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出...

2019-03-24 11:36:52

阅读数 18

评论数 0

leetcode[7]:整数反转 C语言解法

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数...

2019-03-24 11:36:46

阅读数 24

评论数 0

leetcode[169]:求众数 C语言解法

给定一个大小为n的数组,找到其中的众数。众数是指在数组中出现次数大于⌊ n/2 ⌋的元素。 你可以假设数组是非空的,并且给定的数组总是存在众数。 示例1: 输入: [3,2,3] 输出: 3 示例2: 输入: [2,2,1,1,1,2,2] 输出: 2 int majorityE...

2019-03-24 11:36:40

阅读数 35

评论数 0

leetcode[172]:阶乘后的0 C语言解法

给定一个整数n,返回n! 结果尾数中零的数量。 示例 1: 输入: 3 输出: 0 解释:3! = 6, 尾数中没有零。 示例2: 输入: 5 输出: 1 解释:5! = 120, 尾数中有 1 个零. int trailingZeroes(int n) { int n...

2019-03-24 11:36:35

阅读数 13

评论数 0

leetcode[392]:判断子序列 C语言解法

给定字符串s和t,判断s是否为t的子序列。 你可以认为s和t中仅包含英文小写字母。字符串t可能会很长(长度 ~= 500,000),而s是个短字符串(长度 <=100)。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,&...

2019-03-24 11:36:23

阅读数 46

评论数 0

leetcode[442]:数组中重复的数据 C语言解法

给定一个整数数组 a,其中1 ≤ a[i] ≤n(n为数组长度), 其中有些元素出现两次而其他元素出现一次。 找到所有出现两次的元素。 你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗? 示例: 输入: [4,3,2,7,8,2,3,1] 输出: [2,3] /** ...

2019-03-24 11:36:16

阅读数 14

评论数 0

leetcode[617]:合并二叉树 C语言解法

给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为NULL 的节点将直接作为新二叉树的节点。 示例1: 输入: Tree 1 ...

2019-03-24 11:36:10

阅读数 34

评论数 0

leetcode[83]:删除排序链表中的重复元素 C语言解法

给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例1: 输入: 1->1->2 输出: 1->2 示例2: 输入: 1->1->2->3->3 输出: 1-&g...

2019-03-24 11:36:04

阅读数 44

评论数 0

leetcode[206]:反转链表 C语言解法

反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反...

2019-03-24 11:35:58

阅读数 27

评论数 0

leetcode[141]:环形链表 C语言解法

给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果pos是-1,则在该链表中没有环。 示例 1: 输入:head = [3,2,0,-4], pos = 1 输出:true 解释:链表中有一个环,其尾...

2019-03-24 11:35:51

阅读数 30

评论数 0

leetcode[9]:回文数 C语言解法

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示...

2019-03-24 11:35:46

阅读数 22

评论数 0

leetcode[70]:爬楼梯 C语言解法

假设你正在爬楼梯。需要n阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定n是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 ...

2019-03-24 11:35:38

阅读数 20

评论数 0

一步步学习zynq软硬件协同开发(AX7021)【AXI-DMA】:AXI-DMA Scatter/Gather Mode(SG模式)

AXI-DMA有几种模式,其中最难使用的莫过于Scatter/Gather模式,以下简称sg模式,axi_dma的框架如下: 在AX7021上,有4路PL端的网口,该网口的驱动和PS端的驱动有所差别,移植到我们自己的RTOS下,需要重新做驱动,除了phy的配置,mac的配置,最关键的部分在于...

2018-12-28 23:26:36

阅读数 550

评论数 1

一步步学习zynq软硬件协同开发(AX7010/20)【FPGA+ReWorks】:创建自定义IP实现rtc读写

一、实验环境及目的 板卡:AX7010 Vivado版本:2017.4 开发机:I5  2.2GHZ  8GB  WIN7_X64 参考文档:《ALINX黑金ZYNQ7000开发平台配套教程》 实验目的:掌握ZYNQ PL端的开发流程,创建自定义IP的方法,在ReWorks下利用该IP对...

2018-12-26 22:11:22

阅读数 271

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭