E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Leetcode笔记
leetcode笔记
:Remove Duplicates from Sorted Array II
一.题目描述二.解题技巧这道题和RemoveDuplicatesfromSortedArray这道题是类似的,只不过这里允许出现重复的数字而已,可以采用二分搜索的变种算法,只不过加入了剔除和第一个元素相同的元素的过程。另一个思路是加入一个变量,用于记录元素出现的次数。这题因为是已经排序的数组,所以一个变量即可解决。如果是没有排序的数组,则需要引入一个hash表来记录出现次数。三.示例代码#incl
liyuefeilong
·
2015-07-24 16:00
LeetCode
Algorithm
C++
HashMap
sort
leetcode笔记
:Remove Duplicates from Sorted Array
一.题目描述二.解题技巧从题目中可知,数组中的元素事先已经过排序,因此一个简单而易于实现的方法是从第二个元素开始对数组元素进行遍历,并判断该元素是否和前面的元素相同。题目要求返回不重复的元素的个数。算法的一个要求是:返回的数组的元素都是不重复,同时要求removeduplicatesinplace,这意味着不能重新定义一个数组来保存不重复的元素。假设该数组为A,为了满足这一要求,可以设置一个变量n
liyuefeilong
·
2015-07-23 17:00
LeetCode
Algorithm
C++
算法
sort
leetcode笔记
:3Sum Closest
一.题目描述二.解题技巧该题与3Sum的要求类似,不同的是要求选出的组合的和与目标值target最接近而不一定相等。但实际上,与3Sum的算法流程思路相似,先是进行排序,然后顺序选择数组A中的下标为i的元素值作为组合中三个数的最小值,进而寻找另外两个更大的值,最后求出三个数的和。不过的地方在于这里是寻找最靠近给定值,寻找最靠近的值就无所有重复的事情了,所以可以不考虑夹逼的过程中的越过相同元素的过程
liyuefeilong
·
2015-07-22 22:00
LeetCode
Algorithm
C++
算法
sort
leetcode笔记
:4Sum
一、题目描述二、解题技巧这道题从表面上看与3Sum极其相似,事实上确实可以使用相同的思维和方法,只不过这样做的话,时间复杂度为O(n^3),空间复杂度为O(1)将超时。这道题也可以在排序之后先计算后面两个数的和,将其方法一个哈希表中,由于可能存在不同的两个数的和为相同值,因此,可以考虑将和为相同的值放在一个链表中,然后将变量头放在哈希表中。然后再按照3Sum的思路,不过第三个数在这里变成了第三个和
liyuefeilong
·
2015-07-17 17:00
LeetCode
Algorithm
C++
时间复杂度
hash
leetcode笔记
:3Sum
一.题目描述二.解题技巧这道题和另外一道题TwoSum很类似,不过这道题是在数组中寻找三个数,使得其和为0,同时要求这三个数只能出现一次。如果单纯得使用暴力算法来做的话,时间复杂度为O(n^3),且很难判断这一组数是否已经出现过。若是选择先排序,然后左右夹逼,复杂度:O(n2)。这个方法可以推广到k-sum,先排序,然后做k-2次循环,在最内层循环左右夹逼,时间复杂度是:O(max(n*logn,
liyuefeilong
·
2015-06-12 11:00
LeetCode
Algorithm
C++
排序
时间复杂度
leetcode笔记
:2Sum
一、题目描述基本意思是给定一组整数和一个常数target,试图在这一组数里找到两个数使得两者的和等于target,结果要求返回两个数的下标。二、解题思路思路一:使用暴力算法实现,这种情况下空间复杂度为O(1),但是时间复杂度为O(n^2),会超时。思路二:使用hash表,存储每个数对应的下标,事件复杂度为O(n)。这样在查找某个值存不存在只需要常数时间。//LeetCode,TwoSum //时间
liyuefeilong
·
2015-05-14 09:00
LeetCode
Algorithm
C++
排序
hash
Leetcode笔记
(7)Divide Two Integers
Dividetwointegerswithoutusingmultiplication,divisionandmodoperator.又是一道乍看很简单的题目。多年来的考试经验表明:题目越是简单的,解题步骤反而越是纠结。这就是一道典型的例子。首先第一步要确认思路。乘除取模不能用,剩下+-和其他运算符。不能用乘号,可以用加号来乘二,加到刚好小于被除数为止。然后减掉做下一轮。然后想起,乘二这个运算,位
lcj_cjfykx
·
2015-01-13 15:00
上一页
10
11
12
13
14
15
16
17
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他