自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (7)
  • 收藏
  • 关注

原创 OpenWRT数据发送过程【Linux内核-OpenWRT】

之前一篇写的不完整,重新写一篇OpenWRT数据发送过程 这里使用的是ath9k网卡驱动,硬件平台是TP-link TL-WR841N V7.1 路由器

2014-04-29 20:37:44 4726 6

原创 OpenWRT数据接收过程【Linux内核-OpenWRT】

OpenWRT数据接收过程 这里使用的是ath9k网卡驱动,硬件平台是TP-link TL-WR841N V7.1 路由器

2014-04-29 09:51:12 3775

原创 OpenWRT驱动启动过程【Linux内核-OpenWRT】

OpenWRT驱动启动过程这里使用的是ath9k网卡驱动,硬件平台是TP-link TL-WR841N V7.1 路由器

2014-04-25 23:07:52 5306 4

原创 【Leetcode】Pascal's Triangle II

题目:Given an index k, return the kth row of the Pascal's triangle.For example, given k = 3,Return [1,3,3,1].Note:Could you optimize your algorithm to use only O(k) extra space?解题思路:

2014-03-28 09:16:45 1165

原创 【Leetcode】Pascal's Triangle

题目:Given numRows, generate the first numRows of Pascal's triangle.For example, given numRows = 5,Return[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]解题思路:下一行的值等于上一行相同位置

2014-03-27 22:09:27 1173

原创 【Leetcode】Two Sum

题目:Given an array of integers, find two numbers such that they add up to a specific target number.The function twoSum should return indices of the two numbers such that they add up to the

2014-03-27 21:52:02 919

原创 【Leetcode】Palindrome Number

题目:Determine whether an integer is a palindrome. Do this without extra space.click to show spoilers.Some hints:Could negative integers be palindromes? (ie, -1)If you are thinking of

2014-03-27 20:03:51 933

原创 【Leetcode】Reverse Integer

题目:Reverse digits of an integer.Example1: x = 123, return 321Example2: x = -123, return -321click to show spoilers.Have you thought about this?Here are some good questions to ask

2014-03-27 18:36:18 980

原创 【Leetcode】Best Time to Buy and Sell Stock

题目:Say you have an array for which the ith element is the price of a given stock on day i.If you were only permitted to complete at most one transaction (ie, buy one and sell one share of th

2014-03-27 15:31:48 783

原创 【Leetcode】Unique Paths

解题思路:这道题是一道典型的深度优先搜索题,可以按照深度优先的思路得到正确的解。然而,由于深度优先在递归的过程中有很多的重复计算,因此在输入规模较小时能通过,而输入规模 变大时就超时了,为了降低计算量,可以设立一个二维数组存储已经计算过的值,如果已经计算过,那就不再进行递归计算,而是直接将数组中的值取出来用。代码1是深度优先搜索,超时。代码2是建立了备忘录数组的深度优先搜索,顺利通过!

2014-03-26 16:18:34 983

原创 【Leetcode】Search Insert Position

解题思路:二分法。查找失败的话,比较当前下标位置处的值与目标值,如果目标值更大,则返回下标值加1,否则返回下标值。

2014-03-26 10:59:13 907

原创 【Leetcode】Merge Two Sorted Lists

解题思路:设立一个头节点,作为返回表的开头,取l1和l2的元素比较,将较小值所在节点插入返回表的表尾,然后取出元素的表的指针往后移,直到比较完某个表的所有元素。

2014-03-26 10:38:31 799

原创 【Leetcode】Merge Sorted Array

解题思路1:设置一个数组C,依次取A的元素i与B的元素j比较,如果B[j]小,则将B[j]放入C,再取B的后一个元素与A[i]比较;反之,若A[i]更小,则将A[i]放入C,取A的下一个元素与B[j]比较。比较完成后,将C复制到数组A。该解法的时间复杂度为O(m+n),空间复杂度为O(m+n)解题思路2:将A和B的元素逐个从后往前比较,选出大的放在A数组尾部(从m+n-1位置处开始放),这样一来就不需要单独开辟存储空间来存储中间结果了。且不需要移位。时间复杂度O(m+n),空间复杂度O(1)

2014-03-25 18:59:47 896

原创 【Leetcode】Sum Root to Leaf Numbers

解题思路:用DFS算法搜索每条路经上的数,求出每条路经数字组合在一起的数,再将这些数相加。

2014-03-25 18:13:05 1013

原创 【Leetcode】Path Sum II

解题思路:用DFS算法进行搜索,搜索到叶子节点并且路径和等于设定值时,将路径存入容器。

2014-03-25 16:42:28 937

原创 【Leetcode】Convert Sorted Array to Binary Search Tree

解题思路:要建立平衡二叉查找树,只需要采用二分法,将每段数组的中间节点的值存入树节点即可,中间节点左右两段的数组的中间结点又作为该树节点的左右子树节点。

2014-03-25 16:11:21 844

原创 【Leetcode】Valid Parentheses

解题思路1:用一个stack,将左括号压入栈内,遇到右括号时与栈顶元素作比较,如果相同则栈顶元素出栈并继续读下一个字符。解题思路2:将可能出现的左右括号分别放进两个字符串里去,左右括号的位置相互对应,设立一个栈来存储左括号,然后使用find函数找到右括号在右括号字符串中的位置n后,取出左括号字符串位置n的字符,与栈顶元素比较。

2014-03-25 11:06:56 833

原创 【Leetcode】Count and Say

解题思路:可以用复杂度O(n^2)的方法来做,对每一个n,都递推的从1开始求string值,直到求到n为止。在求新的string值时,遍历上一个string,对其中重复出现的数字统计次数,并将次数与数字值插入到新的string中。

2014-03-24 19:46:50 1100

原创 【Leetcode】Roman to Integer

解题思路:我们首先来明确一下罗马数字与阿拉伯数字的换算规则:如果当前数字比前一个大,说明这一段的值应该是当前这个值减去上一个值,比如IV = 5 – 1;否则,将当前值加入到结果中,然后开始下一段记录,比如VI = 5 + 1, II=1+1。而罗马数字与阿拉伯数字对应变换是:I对应1,V对应5,X对应10,L对应50,C对应100,D对应500,M对应1000。因此,只需要从前往后读出字符,如果当前数字小于等于前一字符,则加上当前字符对应的数字;而当前数字更大时,减去前一个字符(要减去两倍,因为在前面扫

2014-03-24 19:08:27 1014

原创 【Leetcode】Longest Common Prefix

解题思路:先找出最短长度的字符串,然后将所有字符串与最短长度的字符串做比较,遇到不同的字符就返回最短长度字符串的前一部分子串。

2014-03-24 16:36:16 836

原创 【Leetcode】Add Binary

解题思路1:判断当前字符所表示的数字,产生输出和进位。缺点:程序比较复杂。解题思路2:首先判断a和b的长度,取其中更长的size作为加法运算的次数。在加法运算时,将每一个char转化为int型数字进行运算并记录进位。优点:程序简单。

2014-03-24 16:06:41 774

原创 【Leetcode】String to Integer

解题思路:需要注意对越界进行判断的方法,这里采用的方法是判断已有数字串是否大于INT_MAX/10,如果是,那么加上现在字符中的单个数字以后必然越界;另一种越界的可能性是已有数字串等于INT_MAX/10,而待加的单个数字大于INT_MAX%10。还需要设置一个sign标志来进行正负输出。

2014-03-24 11:06:12 885 2

原创 【Leetcode】Valid Number

解题思路:这是一道考察细节的题,只要明确了规则就可以通过。leetcode上这道题的通过率只有10+%,我认为是由于规则不清晰引起的。我也是在不断的错误中明确了“有效”的具体规则定义以后才通过的。

2014-03-22 19:12:46 1080

原创 【Leetcode】Valid Palindrome

解题思路:设置首尾两个迭代器,从两头向中间遍历即可。只访问数字和字母(需要注意string里的字幕可能会有大小写区别,然而题目要求忽略大小写,因此比较之前需要将字母全部转换成小写或全部转换成大写)。

2014-03-20 18:51:34 1018

原创 【Leetcode】Swap Nodes in Pairs

解题思路:本题较简单,做3次指针变换就可以完成一轮交换。

2014-03-20 18:04:07 960

原创 【Leetcode】Remove Nth Node From End of List

解题思路1:采用两个指针,第一个指针滑动到最末节点,统计出节点数量count,第二个指针从头指针滑动count-n-1步到待删除节点的前一个节点的位置。将该节点的next指针指向待删除节点的下一个节点,将目标节点删除。需要注意如果n等于count说明被删除的节点是头节点,这时只需要返回头节点的next域可以了。该思路的缺陷是需要走两次才能将待删除节点删除。解题思路2将提供一种走一遍就将节点删除的方法。解题思路2:建立一个位于头节点之前的节点(该节点的next域指向头节点),设立两个指向该节点的指针,让第一

2014-03-20 16:19:19 765

原创 【Leetcode】Climbing Stairs

解题思路:这是一道斐波拉契数列题。看到斐波那契数列就自然想到利用递归,然而在这里递归的效率非常低,荣誉计算的数量增长的非常快,直接导致出现TLE(Time Limit Exceeded)错误。这是因为在递归的时候许多值被重复计算了多次,根据《C和指针》上对斐波那契数列的介绍,在n=30时,Fibonacci(3)的值被计算了317811次。这是非常可怕的,因此我又采用迭代的思路写了一组代码。迭代的思路也比较简单,设定初始f(1)和f(2)的值,在每次迭代中将前两次的计算结果相加作为本次计算结果即可。下面给出

2014-03-20 15:07:56 886

原创 【Leetcode】Valid Sudoku

解题思路:分别对横向、纵向、小格子遍历即可。设一个set来表示已出现过的数字,并判断当前访问的数字是否在集合中(即判断是否已经出现过)。

2014-03-20 11:24:43 986

原创 【Leetcode】Word Ladder II

解题思路: 这道题居然被网友标注为难度1,而另一道Word Ladder被标注为难度3。事实上在做的过程中大家都会发现如果Word Ladder的难度是3的话,那Word Ladder的难度至少为4。解题的关键在于选取适当的数据结构,题目要求输出所有路径,不像Word Ladder里一样只需要输出最少路径节点数。因此不是在该层找到第一个可达节点就能返回,而是要访问所有可达节点,并且记录下节点之间的关系。一个节点可能经过多个下一层节点到达目的节点,也就是说一个节点可能对应多个下一层节点,同时,

2014-03-17 21:48:04 1314

原创 【Leetcode】Word Ladder

解题思路:采用BFS搜索。每个节点采用pair表示,每个pair的第一个元素是字符串本身,第二个元素是所在层次。

2014-03-16 16:10:43 1750

原创 【Leetcode】Path Sum

解题思路:如果节点为空,返回false。如果节点不为空,则在路径和上加上当前节点的值,并判断是否是叶子节点,如果是叶子节点则判断当前的路径和是否等于条件所给的值。如果不是叶子节点,则递归的访问节点的左儿子和右儿子并对两者的结果取或。

2014-03-15 19:34:32 1160

原创 【Leetcode】Maximum Depth of Binary Tree

解题思路:当节点为空时,返回0,否则返回左右儿子中最深的深度值。

2014-03-15 18:36:36 794

原创 【Leetcode】Minimum Depth of Binary Tree

解题思路1:设置一个变量存储当前记录下的最小深度,采用先序遍历的方法访问树的每一个节点,设置一个变量表示当前节点所在的层次,如果一个节点没有子节点,那么就比较该节点的深度与当前的最小深度,选择两者之中较小的作为当前的最小深度。解题思路2:另一种思路是,当节点为空时,判断其是否有兄弟节点,如果没有,那么令该节点的深度为0,如果有兄弟节点,令该节点的深度为正无穷(INT_MAX)。这样一来,在上一层节点进行选择时,将选择该节点的兄弟节点的深度作为子节点的深度。

2014-03-13 20:28:38 687

原创 【Leetcode】Balanced Binary Tree

解题思路1(下面给出两种代码实现,代码1和代码2):采用递归的方法,对每一层的节点进行遍历,从叶子节点开始回溯,并从下往上判断每一层的各个是否满足平衡树的条件,并得到以该节点为根节点的左右子树的深度,进而得到该节点的深度以便于上层的判决。解题思路2:由于是深度是非负的,因此可以通过-1来表示不平衡。从而避免了返回值不一致的问题(如第一种思路,为了让返回值为bool型并记录深度,不得不采取了传引用的函数调用方式)。

2014-03-12 19:20:24 916

原创 【Leetcode】Symmetric Tree

解题思路:采用先序遍历的思路对根节点的两颗子树进行遍历,在遍历的时候需要注意,左子树的遍历过程中,先访左子树的左儿子,然后访问左子树的右儿子;右子树的遍历过程中,先访问右子树的右儿子,再访问右子树的左儿子。即镜像的对左右两颗子树进行比较。

2014-03-12 15:04:29 755

原创 【Leetcode】Same Tree

解题思路:对两棵树进行遍历即可,这里采用先序遍历的方法。

2014-03-12 11:28:00 859

原创 【Leetcode】Remove Duplicates from Sorted List

解题思路:设置两个指针CurrList和NewList,初始化为同一头指针,CurrList不断向链表尾部扫描,如果当前节点的值不是重复值,就将该节点接到NewList尾部。

2014-03-11 19:09:26 838

原创 【Leetcode】Plus One

解题思路:要给原有容器表示的数加1,主要需要处理的就是进位的问题。由于是加1,因此只有在当前数字为9的时候采进位。如果在数组的第0个元素上还需要进位,那么就需要在该元素前面增加一个数字1。

2014-03-11 16:42:29 743

原创 【Leetcode】Remove Element

解题思路:设置两个指针pa,pb,pa指针从0开始依次向n-1滑动,当pa指向的元素不是待删除的元素时,将pa指向的元素赋给pb指向的元素,同时pb向前滑动。

2014-03-11 15:58:34 587

原创 【Leetcode】Search in Rotated Sorted Array II

解题思路:该题与Search in Rotated Sorted Array的主要区别在于需要考虑A[low]与A[mid]相等、A[mid]与A[high]相等以及A[low]A[mid]A[high]三者相等的情形。若A[low]与A[mid]相等而A[mid]与A[high]不等,则搜索右边序列;若A[mid]与A[high]相等而A[low]与A[mid]不等,则搜索左边序列;若A[low]A[mid]A[high]三者相等,则在最坏情况下需要对两边的序列进行搜索。

2014-03-07 22:07:16 754

The mac80211 subsystem for kernel developers

mac80211开发手册 里面有各个模块的数据结构和关键函数及其描述

2013-11-05

Source_Insight教程及技巧(大全)——最终整合版

Source_Insight 看代码的神器

2013-11-05

Atheros Datasheet AR9287

Atheros的网卡芯片datasheet

2013-11-05

贪食蛇C++程序

贪食蛇的c++代码,建立工程后直接运行就可以,欢迎下载

2013-04-07

Weighted Sampling for Large-Scale Boosting

Weighted Sampling for Large-Scale Boosting英文原版论文,之前有个翻译版的,有的地方不太准确,我觉得看英文原版的要好一些

2012-10-04

个人整理的opencv最基本入门资料

个人整理的opencv最基本入门资料,大家可以看一看,对入门有帮助的

2012-10-04

ZEMAX2003中文说明书

ZEMAX2003的中文说明书,用于光学仪器的设计及仿真,欢迎大家下载使用

2011-05-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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