- 博客(11)
- 资源 (2)
- 收藏
- 关注
原创 LeetCode每日一题 010 无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。1、解题思路1)顺序遍历,依次比较每个不重复子串长度,即首尾元素相同时子串长度;2)使用哈希表辅助判断元素是否重复2、边界用例3、有效题解int lengthOfLongestSubstring(char* s){ if (NULL == s || strlen(s) <= 0) ...
2019-03-08 00:37:51
173
原创 LeetCode每日一题 009 两数相加
给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -...
2019-03-06 23:46:45
107
原创 LeetCode每日一题 008 两数之和
1、解题思路思路一:双层循环,遍历查找每一个元素 与其匹配的 另一值是否在数组中。优点是直观易表示,确定是时间复杂度为o(n*n);思路二:空间换时间,使用哈希表保存所有元素与其位置的关系,则在已知其中一个元素A与target的条件下,另一个元素B=targe-A,再通过hash表查找,可在o(1)时间得到B元素位置。2、有效题解/** * Note: The retu...
2019-03-06 01:16:02
125
原创 LeetCode每日一题 007 除自身以外数组的乘积
1、解题思路这道题想了半天一直没想出什么好的办法,后来在纸上写写画画,终于找到了一种实现方法。首先,想的是列个如下的数组出来:2 4 5 34 2 2 25 5 4 43 3 3 5第一行每个元素对应的其余元素的乘积 为同列其他元素的乘积,但这样一来求解乘积的复杂度仍是o(n*n)然后,开始用函数去抽象每个元素的结果,结果用T表示,乘积用S表示,发现T0 = S(1...
2019-03-05 01:20:48
163
原创 LeetCode每日一题 006 反转字符串中的单词III
1、解题思路思路:按顺序遍历字符串,依次按005反转字符串的方法 反转由空格切分出来的子串,需注意最后一个子串的条件判断。测试用例:1)NULL; 2)"";3)" ";5)"a "; 6)"a bcd" 7)''i want go"2、有效题解void reverseString(char* s, int sSize){ if (sSize <= 1) ...
2019-03-03 23:15:12
118
原创 LeetCode每日一题 005 反转字符串
1、解题思路原地反转数组,设定两个游标,初始指向数组首尾元素,再依次向中移动,同时借助中间变量交换指向元素的值,直至遍历完数组。2、有效题解void reverseString(char* s, int sSize){ if (sSize <= 1) { return; } char tmp; int left = 0...
2019-03-03 15:49:09
220
原创 LeetCode每日一题 004 字符串相乘
1、解题思路假如输入的是两个整数,则计算乘积可以算术演算。为转化成算术演算,这里要解决几个问题:1)输入字符串转成整数处理;2)按两数相乘规则,计算中间结果,由于乘数最大为110位,中间结果可能不能用一般整数表示,得解决存储问题,3)中间结果求和得到两数乘积,乘积转换成字符串;2、有效题解#define MAX_ROW_NUM 110#define MAX_COL...
2019-03-02 21:57:35
139
原创 LeetCode每日一题 003 盛最多水的容器
1、解题思路想法一:盛水最多,即左右两边中间区域的矩形面积最大,称左侧为A边,右侧为B边。比较直观的解法是,固定某一边(如A边),依次比较B边选取哪一个所框住区域面积最大。因此,可以比较选取不同A边所能框住面积的最大值,从而得到所有可能情况的最大值,及穷举法。可通过双层循环求解。想法二:在想法一基础上,思考固定A边,移动B边求取最大面积(即内层循环)这一操作是否有规律可循。...
2019-03-01 00:11:24
200
原创 LeetCode每日一题 002 删除排序数组中的重复项
1、解题思路从最终结果来看,子数组中依次记录的是不重复的数组元素。因此,目标拆分为两点:1)找到数组中所有不重复的元素;2)将找到的不重复元素依次填入子数组中。比较直观的解法是,先遍历原数组A,把不重复的元素记录在另一数组B中,再把B中元素填到A首元素开始的子数组中。题目要求不使用额外数组,并只能使用0(1)额外空间。再看直观解法的分析,新增了数组B,这部分空间是可以省...
2019-02-28 21:55:31
296
原创 LeetCode每日一题 001 有效的括号
1、解题思路从前往后,依次看每个括号字符能否找到匹配的另一半(规则是就近配对),只要某一个括号字符找到了另一半就将这一对括号从字符串序列里移除,剩下的字符串序列再做配对。这种方式下,只要尚未配对的括号字符都要进行记录,以参与后续的配对。未配对记录(入栈),配对移除(出栈)这个过程和栈的入栈出栈操作是一致的了,因此可以用栈来解决。2、有效题解bool isMatchedChar...
2019-02-27 21:51:01
188
转载 Java并发编程:深入剖析ThreadLocal
http://www.cnblogs.com/dolphin0520/p/3920407.html
2015-08-14 21:03:25
283
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人