![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode刷题
caneo_nj
这个作者很懒,什么都没留下…
展开
-
1 Two sum
1 Two sum所用语言:java题目: 即给定整型数组,返回数组中和为目标值的两个元素的索引。方法1:Brute force 1. 两层循环遍历数组,两两求和,如果得到target value,停止搜索,直接return相应值即可。 2. 缺点:时间复杂度为O(n^2),用时50ms,虽然也accepted但是耗时过长。方法2:哈希表 1. 采用HashMap,其中数组值为key原创 2017-07-10 21:22:52 · 183 阅读 · 0 评论 -
9. Palindrome Number
9. Palindrome Number题目 题目解析:判断一个数字是不是回文数。 回文数的定义如下:一个数字和它倒置以后相等,则为回文数。 要求:无需额外的空间 要注意的几点就是:1)任何负数都不是回文数;2)注意倒置后溢出的判断;3)无需额外的空间消耗,也就是不能定义新的数据结构存储中间结果。解决思路想到之前做的题目里面数字转置的,于是想到是不是我只要判断数字转置以后和原来的数字是不是相原创 2017-10-10 10:21:54 · 241 阅读 · 0 评论 -
12. Integer to Roman
12. Integer to Roman题目 题目的意思很简单:将整数转为罗马数字表示。解题思路1、首先,先介绍一下罗马数字的7个基本单元“I(1)、V(5)、X(10)、L(50)、C(100)、D(500)、M(1000)”。 2、接着让我们看一下数字转罗马数字的一些规则: 1)相同数字连写不超过3次。 2)小的数字在大的数字的左边时,表示大数减小数。但是小的数字仅限于I、X、C三个。所原创 2017-10-18 19:57:59 · 209 阅读 · 0 评论 -
11 Container with Most Water
11 Container with Most Water(容器最大装水容量)题目内容这个题目挺好玩的。 题目解析:题目的大意是这样的。给你n个非负数,每一个(i,a_i)表示一个坐标点,过任意坐标点作x轴的垂线。找到两根垂线与x轴构成的容易有着最大面积。 比如图上的任意两条垂线之间与x轴构成一个容器,而容器的容量是由短的那根垂线决定的。这是哲学里面的深刻原理啊!解题思路首先,明确题目要解决的原创 2017-10-18 19:01:14 · 218 阅读 · 0 评论 -
8. String to Integer (atoi)
字符串转整型数的自我实现原创 2017-10-09 16:01:57 · 234 阅读 · 0 评论 -
7. Reverse Integer
7. Reverse Integer(整数转置)题目 注释:这道题目挺简单的,主要是处理溢出的问题和对有符整型数的符号处理 题目的意思简单明了,给你一个有符整数,将其倒置输出。看到这个题目一开始第一反应是变成字符串去做,直接利用字符串自带的倒置函数处理。后来看了讨论,发现这个方法显得操作更加高级啊。解题思路主要思想:利用我们以前初高中学的辗转相除法就可以了。也就是说不断取到整数的每一位的值,这正原创 2017-10-09 15:25:18 · 186 阅读 · 0 评论 -
6 ZigZag Conversion
6 ZigZag Conversion题目内容题目注释:将输入的字符串s,按照z字形排列成n行,再按照行输出新的字符串。解题思路这是一道找规律的题目,需要找到字符串原始序号与排列成z字形的新序号之间的关系。 我在解题时利用给出的例子试着列了一下规律,最后验证发现正确。设字符串原索引为i,排成n行z字形。即: 1)对于i/(n-1)得到的余数。发现如果余数为0,则该字符一定在首行或者末尾行。若不为原创 2017-10-09 15:10:18 · 332 阅读 · 0 评论 -
4 Median of two sorted arrays
4 Median of two sorted arrays-所用语言:java题目: 注释:给定两个有序的整型序列,找到这两个序列的中位数,并且要求时间复杂度为log(m+n).方法11)首先需要将两个有序序列合并为一个有序序列。注意由于时间复杂度的要求,不能采用两层循环的方法。 设置两个指针,分别遍历两个序列,比较序列1的i元素nums1[i]与序列2的j元素nums2[j]。将小的一方原创 2017-09-08 09:51:44 · 249 阅读 · 0 评论 -
3 Longest Substring Without Repeating Characters
题目: 即找到最大无重复字母的子串。考虑思路:1)以键值对的形式存储字符串。其中,以字符为键,其索引为值。 根据键的唯一性,我们可以知道该hashmap表中存储的是字符串的全部不重复的字符。 2)遍历字符串时,首先设置滑动窗口,当遍历到S[i]到S[j]之间时,如果存在与S[j+1]相同的字符S[k],记录下此时得到的不重复子串的长度j+1-k。并且将窗口的左端移动到k,并且,即重新往后遍历原创 2017-07-17 20:26:14 · 215 阅读 · 0 评论 -
2 Add Two Numbers
2 Add Two Numbers语言:java题目:即给定两个非负整数的链表,注意两个链表存放数是倒着存的。求出两数之和,并且以链表的形式输出。考虑点:1用两个链表存放两个数,每个节点存放数的每一位。2当两个数等长时(即链表等长时),相加时注意保存进位,即进位要加在下一位两个数相加的结果上。3 当两个数不等长时,和的高位结果即为不为空的数的高位。即将不为空的链表节点直接复制即可。4 若最高原创 2017-07-11 21:34:08 · 217 阅读 · 0 评论 -
10. Regular Expression Matching -漫漫DP路1
10. Regular Expression Matching题目内容一开始这个题目没有完全看懂。然后不争气就直接问男票了,该打! 题目解析:判断两个字符串是否匹配。其中“.”可以表示任意字符;“”表示0个或者多个前面的字符。例如a表示“”或者“a”或者“aa”或者n个“a”。”.*”表示“ ”,“.”,“..”或者n个”.”。解决思路对于我这刷Leetcode碰到的第一道DP问题,我看了好几篇网原创 2017-10-10 11:00:32 · 233 阅读 · 0 评论