- 博客(55)
- 资源 (15)
- 收藏
- 关注
原创 【leetcode】多数元素
问题描述: 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于⌊ n/2 ⌋的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例1: 输入: [3,2,3] 输出: 3 示例2: 输入: [2,2,1,1,1,2,2] 输出: 2 解题思路: 利用快排的划分思想,partition出的第n/2个位置,必然为原始数组中的...
2020-02-22 22:28:05
290
原创 【leetcode】子集(动态规划解法)
问题描述: 给定一组不含重复元素的整数数组nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 输入: nums = [1,2,3] 输出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ] 解题思路: 动态规划思路:自上而下分析(问题分解),自下而上解决(根据子问...
2019-03-05 13:07:50
845
原创 【leetcode】从前序与中序遍历序列构造二叉树
根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: 3 / \ 9 20 / \ 15 7 解题思路: 1、首先需要了解前序遍历和中序遍历的特征,前序遍历...
2018-08-18 23:52:36
1517
原创 leetcode练习算法时遇到的调试bug的解决记录
指针使用越界: 1、free(): invalid next size (fast): 0x0000000001d294d0 *** 使用malloc方法动态分配指针指向的空间,实际在使用时超出了声明的空间,因此指针被污染了。出错代码如下: struct TreeNode*** temp=(struct TreeNode ***)malloc(sizeof(struct TreeN...
2018-08-18 13:21:57
3071
原创 【leetcode】二叉树的锯齿形层次遍历
问题描述: 给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回锯齿形层次遍历如下: [ [3], [20,9], [15,7] ] 解题思路:...
2018-08-18 13:12:28
694
原创 【leetcode】中序遍历二叉树
给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 解题思路: 先用递归的思路写一个代码如下: /** * Definition for a binary tree node. * struct TreeNode {...
2018-08-15 23:48:13
419
原创 【leetcode】相交链表
编写一个程序,找到两个单链表相交的起始节点。 例如,下面的两个链表: A: a1 → a2 ↘ c1 → c2 → c3 ↗ B: b1 → b2 → b3 在节点 c1 开始相交。 注意: 如果两个链表没...
2018-08-14 22:57:33
218
原创 【leetcode】奇偶链表
给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。 请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。 示例 1: 输入: 1->2->3->4->5->NULL 输出: 1->3->5->...
2018-08-13 22:14:38
463
原创 【leetcode】两数相加
题目描述: 给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 465 = 807 解题思路: 常规思...
2018-08-11 23:10:07
239
转载 【转】leetcode错误提示:member access within misaligned address 0x000000000031 for type 'struct ListNode'
转载地址:https://blog.csdn.net/lv1224/article/details/54675703 错误提示: member access within misaligned address 0x000000000031 for type 'struct ListNode', which requires 8 byte alignment 原因分析: 在链表中,链表节点定...
2018-08-11 23:07:56
12735
1
原创 【leetcode】最长回文子串
问题描述: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba"也是一个有效答案。 示例 2: 输入: "cbbd" 输出: "bb" 解题思路:参考这篇文章加深了对动态规划算法的了解和使用:https://www.cnblogs.com/coderJiebao/p/A...
2018-08-11 14:38:12
201
原创 【leetcode】递增的三元子序列
问题描述: 给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列。 数学表达式如下: 如果存在这样的 i, j, k, 且满足 0 ≤ i < j < k ≤ n-1, 使得 arr[i] < arr[j] < arr[k] ,返回 true ; 否则返回 false 。 说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1) 。 示例...
2018-08-11 10:08:04
533
原创 【leetcode】无重复字符的最长子串
问题描述: 给定一个字符串,找出不含有重复字符的最长子串的长度。 示例: 给定 "abcabcbb" ,没有重复字符的最长子串是 "abc" ,那么长度就是3。 给定 "bbbbb" ,最长的子串就是 "b" ,长度是1。 给定 "pwwkew" ,最长子串是 "wke" ,长度是3。请注意答案必须是一个子串,"pwke" 是 子序列 而不是子串。 解题思
2018-08-07 23:39:07
212
原创 【leetcode】字谜分组--未完成
问题描述: 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 示例: 输入: ["eat", "tea", "tan", "ate", "nat", "bat"], 输出: [ ["ate","eat","tea"], ["nat","tan&qu
2018-08-05 13:06:17
491
原创 【leetcode】三数之和
题目描述: 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ] 提交...
2018-07-29 15:35:32
455
原创 吐槽中文版leetcode的执行环境,有种看心情出结果的感觉
好几天没刷题目了,于是昨晚又开始奋斗,练手的题目是“三数之和”,本来自己就学艺不精,万万没想到这个编译器有大坑,至今也没搞清楚原因,极大的打击了我的热情和自信,下面就记录一下槽点。 背景:题目需要返回一个N×3的二维数组,但是N是不确定的,需要动态分配。 1、槽点1:由于不能准确的知道N有多大,所以我就计算了N的上限值是n×(n-1)×(n-2)/6,当n比较大时,这个上限值可能就超出了int...
2018-07-29 15:28:11
7977
1
原创 【leetcode】将有序数组转换为二叉搜索树
题目描述: 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / ...
2018-07-16 22:51:40
666
原创 【leetcode】缺失数字
问题描述给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数。示例 1:输入: [3,0,1] 输出: 2 示例 2:输入: [9,6,4,2,3,5,7,0,1] 输出: 8 说明:你的算法应具有线性时间复杂度。你能否仅使用额外常数空间来实现?提交代码思路:连续整数,先计算出所有数字的和,然后在逐一减去数组中的数字,剩下的就是缺失的那个...
2018-07-14 14:49:07
433
原创 【leetcode】有效的括号
题目描述:给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()" 输出: true 示例 2:输入: "()[]{}" 输出: true 示例 3:输入: "(]" 输出: false 示例 4:输入: "([)]" 输...
2018-07-13 22:28:14
332
原创 【leetcode】帕斯卡三角形
问题描述:给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5 输出: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ]提交代码思路:观察每行与前一行的关系,可以发现后一行比前一行多1个数字,并且位置关系也是明确的,并且是一个对称的数组。提...
2018-07-11 20:51:57
808
原创 【leetcode】汉明距离
问题描述两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4 输出: 2 解释: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ 上面的箭头指出了对应二进制位不同的位置。 解题思路:先计算xy的异或,然后再计算异或...
2018-07-09 22:36:54
450
原创 【leetcode】 位1的个数
题目描述编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。示例 :输入: 11 输出: 3 解释: 整数 11 的二进制表示为 00000000000000000000000000001011 示例 2:输入: 128 输出: 1 解释: 整数 128 的二进制表示为 00000000000000000000000010000000以前了解过这...
2018-07-08 22:09:35
287
原创 【leetcode】罗马数字转整数
罗马数字包含以下七种字符:I, V, X, L,C,D 和 M。字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做...
2018-07-08 12:58:56
386
原创 【leetcode】3的幂
问题描述给定一个整数,写一个函数来判断它是否是 3 的幂次方。示例 1:输入: 27 输出: true 示例 2:输入: 0 输出: false示例 3:输入: 9 输出: true示例 4:输入: 45 输出: false提交代码思路:递归判断n/3是否是3的幂次方,提交代码如下:bool isPowerOfThree(int n) { if(n==1) { re...
2018-07-06 21:25:14
2494
原创 【leetcode】计数质数
题目描述统计所有小于非负整数 n 的质数的数量。示例:输入: 10 输出: 4 解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。 提交代码如下:代码思路:如果借助辅助空间,代码提交会超时。因此代码中开辟了一个与n大小相同的数组来标识数组下标的数字是否是质数。因为非质数一定可以标示为所有质数的乘积,即n=(a1^n1)*(a2^n2)*...,n为非负整数,因此判断是否是...
2018-07-05 23:00:57
860
原创 【leetcode】Fizz Buzz
问题描述写一个程序,输出从 1 到 n 数字的字符串表示。1. 如果 n 是3的倍数,输出“Fizz”;2. 如果 n 是5的倍数,输出“Buzz”;3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。示例:n = 15, 返回: [ "1", "2", "Fizz", "4", "Buzz", "Fizz", "
2018-07-03 23:29:41
296
原创 【leetcode】最小栈
题目描述设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) -- 将元素 x 推入栈中。pop() -- 删除栈顶的元素。top() -- 获取栈顶元素。getMin() -- 检索栈中的最小元素。示例MinStack minStack = new MinStack(); minStack.push(-2); minStack.push(0); min...
2018-07-02 22:56:56
497
原创 ubuntu下源码安装apache
最近被apache的源码安装整疯了,按照Ubuntu下软件源码安装的流程,总是被报错请安装apr-util大于1.3.0的版本,这个错误简直让我疯狂,安装最新的apr-util并没有什么用,后来重新在没有安装过任何版本的apr-util的Ubuntu环境中,竟一次就安装成功了,简直不能不被自己感动。下面记录一下Ubuntu下apache源码安装的流程,以备以后忘记了。 首先去http://arc
2016-03-01 22:56:32
1783
转载 mysql判断一个字符串是否包含某子串
转载地址:http://blog.sina.com.cn/s/blog_71e2015f01017pnl.html 使用locate(substr,str)函数,如果包含,返回>0的数,否则返回0 例子:判断site表中的url是否包含'http://'子串,如果不包含则拼接在url字符串开头 update site set url =concat('http://',url) whe
2015-07-16 08:30:30
917
转载 Linux/Mingw Excel (*.xls)文件读取,使用libxls库
转载地址:http://www.awaysoft.com/taor/linuxmingw-excel-xls%E6%96%87%E4%BB%B6%E8%AF%BB%E5%8F%96%EF%BC%8C%E4%BD%BF%E7%94%A8libxls%E5%BA%93.html 做个项目需要读取xls文件,通过搜索,找到三个库,BasicExcel、libxl、libxls。 因为Basi
2015-07-15 09:21:04
5499
1
原创 LeetCode 206 Reverse Linked List
Reverse a singly linked list. click to show more hints. Hint: A linked list can be reversed either iteratively or recursively. Could you implement both? 递归实现 runtime 64ms(感觉递归的效率真的好低!)
2015-06-26 17:13:26
450
转载 #实践笔记#Ubuntu配置Apache+PHP+MySQL
转载地址点击打开链接 在我早先的一篇文章《#实践笔记#本地配置PHPnow与WordPress》,已经讨论过PHPnow的本地安装教程。但是PHPnow套件是Windows平台下的软件,不适用我现在使用的平台 在我早先的一篇文章《#实践笔记#本地配置PHPnow与WordPress》,已经讨论过PHPnow的本地安装教程。但是PHPnow套件是Windows平台下的
2015-06-24 08:40:16
542
原创 LeetCode 1.Two Sum
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 targ
2015-06-22 21:37:49
523
转载 linux下wireshark不用sudo权限抓包包
ubuntu安装了wireshark,发现打不开网络接口,后来从网上得知要用sudo从命令行执行,确实可以,但是执行过程中一直要开一个命令行窗口,不爽,想直接用单击图标的方法运行之,在网上查询找到以下两个方法, 1.这个主要涉及到安全的问题,可以开启非超级用户模式,这样就可以直接使用普通用户进行包采集了。具体操作如下: sudo dpkg-reconfigurewireshark-co
2015-06-05 08:48:13
2582
原创 struct和union在内存所占空间
1.声明一个空的struct 或者union,它们所占的空间都是1B. 2.union所占的空间大小是成员变量中所占空间最大的那个变量的字节数。 比如union test { short s; char c; }; 那么union的在内存中占的长度是sizeof(short)=2B。 3.struct所占内存空间的大小则是所有成员变量的sizeof的总和。但是
2015-04-27 15:31:42
3459
原创 回文判断
#include #include #include bool isPalindrome(char *str, int len); int main() { char arr[100]; gets_s(arr); puts(arr); int len = strlen(arr); if (isPalindrome(arr, len)) { printf("palindrome!\
2015-04-07 16:12:21
599
原创 单词翻转(C语言实现)
题目:单词翻转。输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变,句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。例如,输入“I am a student.”,则输出“student. a am I”。 思路:先将整个句子翻转,然后再通过空格区分每个单词的范围,再将这个单词翻转。 #include #include #include void RotateS
2015-03-24 22:00:39
7596
原创 字符串移位(C语言实现,面试题目)
题目:编写程序,在原字符串中把字符串尾部的m个字符移动到字符串的头部,要求:长度为n的字符串操作时间复杂度为O(n),空间复杂度为O(1)。 例如,原字符串为”Ilovebaofeng”,m=7,输出结果为:”baofengIlove”。 思路:借鉴了July的旋转字符串的思路。分别将字符串的两部分逆序,然后再对整个字符串逆序。 #include #include #include void
2015-03-24 21:12:18
3263
原创 链表翻转(面试题目 C语言实现)
题目:给出一个链表和一个数k,比如,链表为1→2→3→4→5→6,k=2,则翻转后2→1→6→5→4→3,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→6→5,用程序实现。 我的思路是:采用插入法翻转链表。 #include #include typedef struct node { int data; struct node *next; }; void
2015-03-24 20:21:05
707
转载 BackTrack5r3中执行nmap时提示invalid bpf filter
转自 http://jingkonglanxing.blog.51cto.com/1152128/1304584 Hello, I want to do a TCP idle scan with metasploit&nmap But I keep having a problem with Metasploit.Here is what I do and
2014-12-28 08:28:12
1446
An Architecture for High Performance Network Analysis
2013-10-05
Writing Effective Use Cases-- Alistair Cockburn
2013-10-20
Dynamsoft SourceAnywhere for VSS 5
2012-08-10
Profiling and Optimization of Software-Based Network Analysis Applications.
2013-10-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人