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
LintCode
LintCode
笔记(12)——第k大元素
在数组中找到第k大的元素注意事项你可以交换数组中的元素的位置您在真实的面试中是否遇到过这个题?Yes样例给出数组[9,3,2,4,8],第三大的元素是4给出数组[1,2,3,4,5],第一大的元素是5,第二大的元素是4,第三大的元素是3,以此类推挑战要求时间复杂度为O(n),空间复杂度为O(1)这道题需要利用快速排序的思想,首先复习一下什么是快速排序。快速排序算法的主要思想为以下几步:(1)首先选
lhanchao
·
2020-09-14 14:17
LintCode
LintCode
5. 第k大元素
在数组中找到第k大的元素classSolution{/**@paramk:descriptionofk*@paramnums:arrayofnums*@return:descriptionofreturn*/publicintkthLargestElement(intk,int[]nums){//writeyourcodeheresort(nums,0,nums.length-1);returnn
老汉在此
·
2020-09-14 14:02
java开发
LintCode
数组划分
问题描述:给出一个整数数nums和一个整数k。划分数组(即移动数组nums中的元素),使得:所有小于k的元素移到左边所有大于等于k的元素移到右边返回数组划分的位置,即数组中第一个位置i,满足nums[i]大于等于k。样例:给出数组nums=[3,2,2,1]和k=2,返回1。挑战:要求在原地使用O(n)的时间复杂度来划分数组。本题最直观的思路是直接排序,然后找出i的位置。但是这种方式的时间复杂度为
ziyue225
·
2020-09-14 14:51
刷题心得
LintCode
之5 第k大元素
题目来源:第K大元素题目描述:在数组中找到第k大的元素样例给出数组[9,3,2,4,8],第三大的元素是4给出数组[1,2,3,4,5],第一大的元素是5,第二大的元素是4,第三大的元素是3,以此类推Java代码:publicintkthLargestElement(intk,int[]nums){//writeyourcodehereArrays.sort(nums);returnnums[nu
Guoshi_Wan
·
2020-09-14 13:53
LintCode刷题
(
lintcode
)第5题第k大元素
在数组中找到第k大的元素(可以交换数组中的元素的位置)样例:给出数组[9,3,2,4,8],第三大的元素是4给出数组[1,2,3,4,5],第一大的元素是5,第二大的元素是4,第三大的元素是3,以此类推首先想到的是最简单的冒泡排序,但是这样的话,特别耗时间,最后的测试数据很多的时候,跑得特别慢,超时了。在这里还是放一下代码:classSolution{/**@paramk:descriptiono
秦怀
·
2020-09-14 13:13
lintcode
LintCode
_有效的括号序列
问题描述:算法设计:此题的关键点在于栈的使用;栈是先入后出的特点,像叠积木一样,往栈中添加元素时,从下往上一层层添加;而将栈中的元素删除时,则从顶往下删除,每次最先删除的肯定栈顶元素;publicstaticbooleanisValidParentheses(Strings){//如果s为空或者长度为0或者长度为奇数,括号肯定不匹配if(s==null||s.length()==0||s.leng
Tina_yaoyao
·
2020-09-14 12:19
学习日志
LintCode
_颜色分类
问题描述:算法描述:根据上面的说明,我设计了两种算法,第一种遍历两次,第二种只遍历一次方法一:publicstaticvoidsortColors1(int[]nums){if(nums!=null&&nums.length!=0){intsize=nums.length;int[]count=newint[3];intpos=0;//统计0,1,2的个数for(inti=0;i0){//遇到0,
Tina_yaoyao
·
2020-09-14 12:19
学习日志
lintcode
LintCode
_Pow(x, n)
问题描述:算法设计:要特别注意n可为正,也可为负数方法一:直观上,最简单的方法就是:根据参数n直接遍历循环,但是遍历次数多,时间长;publicstaticdoublemyPow(doublex,intn){if(x==0){return0;}if(x==1){return1;}if(n==0){return1;}if(n==1){returnx;}if(n==-1){return1/x;}dou
Tina_yaoyao
·
2020-09-14 12:19
学习日志
lintcode
LintCode
_最小差
问题描述:给定两个整数数组(第一个是数组A,第二个是数组B),在数组A中取A[i],数组B中取B[j],A[i]和B[j]两者的差越小越好(|A[i]-B[j]|)。返回最小差。样例:给定数组A=[3,4,6,7],B=[2,3,8,9],返回0。算法设计:方法一:先将A与B从小到大排序,从A的第一个数开始到最后一个数求差值。在每一轮循环中,要先求出A[i]到B[0]的差值,这应该是本轮遍历的最大
Tina_yaoyao
·
2020-09-14 12:48
学习日志
lintcode
LintCode
--斐波纳契数列
问题描述:查找斐波纳契数列中第N个数。所谓的斐波纳契数列是指:前2个数是0和1。第i个数是第i-1个数和第i-2个数的和。斐波纳契数列的前10个数字是:0,1,1,2,3,5,8,13,21,34...算法:方法一:这种算法,运算次数最少,且相对于数组不受数组大小的限制publicstaticintfibonacci1(intn){if(n==1){return0;}if(n==2){return
Tina_yaoyao
·
2020-09-14 12:47
学习日志
LintCode
_第k大元素
问题描述:在数组中找到第k大的元素样例:给出数组[9,3,2,4,8],第三大的元素是4;给出数组[1,2,3,4,5],第一大的元素是5,第二大的元素是4,第三大的元素是3,以此类推挑战:要求时间复杂度为O(n),空间复杂度为O(1)算法设计:首先对这个数列使用快速排序算法进行从大到小排序,然后再遍历寻找第k大数据。此算法的重点难点应该在于快速排序publicclassModel_KthLarg
Tina_yaoyao
·
2020-09-14 12:47
学习日志
lintcode
LintCode
24:LFU Cache(Java的两种实现)
说明:这是一种缓存剔除算法,在需要添加新元素而缓存满时,需要将最近最少访问的元素删除,然后将新元素添加进去注意以下几点即可:1、重新set一个已经存在的值时,要更新其值和使用频次,并重置新的访问时间2、每访问一个值,如果该值存在,都要将其使用频次加1,并更新访问时间3、缓存满时,最先剔除访问频次最低的元素,如果有多个相同的访问频次最低的元素,删除其最近访问时间最小的(最久没有访问它)Java实现一
初心江湖路
·
2020-09-14 11:48
算法
LintCode24
LFU
LintCode
_111 爬楼梯
题目假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?比如n=3,1+1+1=1+2=2+1=3,共有3中不同的方法返回31235813...step[2]=step[0]+step[1];C++代码intclimbStairs(intn){//writeyourcodehereif(n==0)return1;if(n<=2)returnn;i
weixin_33794672
·
2020-09-14 01:05
c/c++
整理一些不错的编程学习网站
stackoverflow.comstackoverflow开源社区http://github.comGitHub开源中心http://codecanyon.net代码也可以放在网上卖的的网站https://www.
lintcode
.com
罗永斌89
·
2020-09-13 17:21
整理
Lintcode
124. Longest Consecutive Sequence (Medium) (Python)
LongestConsecutiveSequenceDescription:Givenanunsortedarrayofintegers,findthelengthofthelongestconsecutiveelementssequence.ExampleGiven[100,4,200,1,3,2],Thelongestconsecutiveelementssequenceis[1,2,3,4]
2Young2Simple
·
2020-09-13 17:09
Lintcode刷题
Lintcode
477. Surrounded Regions (Medium) (Python)
SurroundedRegionsDescription:Givena2Dboardcontaining‘X’and‘O’,captureallregionssurroundedby‘X’.Aregioniscapturedbyflippingall‘O”sinto‘X”sinthatsurroundedregion.ExampleXXXXXOOXXXOXXOXXAftercaptureallre
2Young2Simple
·
2020-09-13 17:38
Lintcode刷题
[
Lintcode
]136. Palindrome Partitioning /[Leetcode]131. Palindrome Partitioning
136.PalindromePartitioning/131.PalindromePartitioning本题难度:MediumTopic:SearchDFSDescriptionGivenastrings,partitionssuchthateverysubstringofthepartitionisapalindrome.Returnallpossiblepalindromepartition
siriusli1981
·
2020-09-13 16:49
lintcode
leetcode
LintCode
374 螺旋矩阵的解决方法
最近在开心刷
LintCode
,其实我觉得刷题的目的就是锻炼你的解决问题的能力,不同的思想会带来不同的解决方案,找到最好的那个就是程序员的工作。但在找到最好的之前,你至少需要一点思想。
mianshui1105
·
2020-09-13 12:09
问题解析
算法学习
划分和相等的子集-
LintCode
-动态规划经典问题/背包问题
给一只含有正整数的非空数组,判断这个数组是否可以划分为两个元素和相等的子集。注意事项:所有数组元素不超过100.数组大小不超过200.样例:给一数组[1,5,11,5],返回true,两个子集:[1,5,5],[11]给一数组[1,2,3,9],返回false思路:动态规划,对于数组nums,判断奇偶性,若为奇数,肯定不可能分成两个相等的数,若为偶数,令sum为数组nums元素和的一半。构建数组d
w2016Jessica
·
2020-09-13 06:37
lintcode
(115)不同的路径2
问题描述:"不同的路径"的跟进问题:现在考虑网格中有障碍物,那样将会有多少条不同的路径?网格中的障碍和空位置分别用1和0来表示。示例:如下所示在3x3的网格中有一个障碍物:[[0,0,0],[0,1,0],[0,0,0]]一共有2条不同的路径从左上角到右下角。思路:二维数组中,设置为1的位置表示障碍,这意味着不能通过这个位置到达其右边或下边的位置,所以打到障碍位置的路径数量可设置为0来占位,这样在
sunday0904
·
2020-09-13 06:45
LeetCode 94 144 145
LintCode
66 67 1783 二叉树的前中后序遍历所有解法总结(史上最全分类总结)
文章目录@[toc]1.简单说明2.解法分析2.1递归法2.2非递归法2.2.1一般迭代法2.2.1.1中序遍历2.2.1.2前序遍历2.2.1.3后序遍历2.2.2统一模板法2.2.2.1设置结点访问标志2.2.2.2null值区分2.2.3Morris遍历法2.2.3.1中序遍历2.2.3.2前序遍历2.2.3.3后序遍历2.2.3.3.1前序遍历反向2.2.3.3.2链表逆序打印自己实现的L
北顾.岛城
·
2020-09-13 04:43
算法
Java
leetcode
二叉树
java
算法
数据结构
面试
lintcode
_726. 验证满二叉树
lintcode
726.验证满二叉树描述:如果一棵二叉树所有节点都有零个或两个子节点,那么这棵树为满二叉树.反过来说,满二叉树中不存在只有一个子节点的节点.满二叉树1/\23/\45不是一棵满二叉树1/
xiaob_bai
·
2020-09-13 03:32
lintcode
数据结构
二叉树
领扣
LintCode
算法问题答案-235. 分解质因数
领扣
LintCode
算法问题答案-235.分解质因数目录235.分解质因数鸣谢235.分解质因数将一个整数分解为若干质因数之乘积。你需要从小到大排列质因子。
二当家的白帽子
·
2020-09-13 01:28
算法
算法
领扣
LintCode
算法问题答案-227. 用栈模拟汉诺塔问题
领扣
LintCode
算法问题答案-227.用栈模拟汉诺塔问题目录227.用栈模拟汉诺塔问题鸣谢227.用栈模拟汉诺塔问题在经典的汉诺塔问题中,有3个塔和N个可用来堆砌成塔的不同大小的盘子。
二当家的白帽子
·
2020-09-13 01:27
算法
算法
领扣
LintCode
算法问题答案-213. 字符串压缩
领扣
LintCode
算法问题答案-213.字符串压缩目录213.字符串压缩鸣谢213.字符串压缩设计一种方法,通过给重复字符计数来进行基本的字符串压缩。
二当家的白帽子
·
2020-09-13 01:27
算法
算法
领扣
LintCode
算法问题答案-219. 在排序链表中插入一个节点
领扣
LintCode
算法问题答案-219.在排序链表中插入一个节点目录219.在排序链表中插入一个节点鸣谢219.在排序链表中插入一个节点在链表中插入一个节点。
二当家的白帽子
·
2020-09-13 01:27
算法
算法
领扣
LintCode
算法问题答案-212. 空格替换
领扣
LintCode
算法问题答案-212.空格替换目录212.空格替换鸣谢212.空格替换设计一种方法,将一个字符串中的所有空格替换成%20。
二当家的白帽子
·
2020-09-13 01:27
算法
算法
数据结构:线段树
(1)构建
LintCode
:Link线段树是一棵二叉树,他的每个节点包含了两个额外的属性start和end用于表示该节点所代表的区间。
iyangdi
·
2020-09-13 01:41
Google
线段树
LintCode
数据结构
lintcode
在数组中找到第k大的元素(快速排序)
快速排序思想:先在数组中选择一个数,再把数组中的数字分成两部分,比选择数字小的放在左边,比选择数字大的放在右边。代码:取数组最右边的数字作为选择的数字,从数组的第一个数字开始与选择数字进行比较,将小于选择数字放入数组左边,当挑选出所有小于选择数子的数时,将选择数字放入中间。则数组剩余的右边部分为大于等于选择数字的所有数。intpartition(intdata[],intlength,intsta
htt789
·
2020-09-13 01:52
lintcode
Guess Number Game(Java)
1.题目WeareplayingtheGuessGame.Thegameisasfollows:Ipickanumberfrom1ton.YouhavetoguesswhichnumberIpicked.Everytimeyouguesswrong,I’lltellyouwhetherthenumberishigherorlower.Youcallapre-definedAPIguess(intn
C_calary
·
2020-09-13 00:29
算法
Lintcode
1017. Similar RGB Color (Easy) (Python)
1017.SimilarRGBColorDescription:Inthefollowing,everycapitalletterrepresentssomehexadecimaldigitfrom0tof.Thered-green-bluecolor“#AABBCC”canbewrittenas“#ABC”inshorthand.Forexample,“#15c”isshorthandforth
2Young2Simple
·
2020-09-12 23:34
LintCode
610: Two Sum - Difference equals to target (经典题:两数差等于给定值)
解法1:先排序后用双指针。这里用逆向双指针好像不太可行,因为假设target=6,两个符合条件的数的索引可能是(1,7),(3,9),(7,12),等等。假如我们设p1=0,p2=12,但是nums[p2]-nums[p1]>6,那我们是p1++还是p2–呢?两个都进行就复杂了。这里用同向双指针比较好。一开始p1=0,p2=1。当两指针指向的值的differencetarget时,p1++(但这里
纸上得来终觉浅 绝知此事要躬行
·
2020-09-12 23:18
LintCode
58: Two Sum - Unique pairs (双指针典型题)
TwoSum-UniquepairsGivenanarrayofintegers,findhowmanyuniquepairsinthearraysuchthattheirsumisequaltoaspecifictargetnumber.Pleasereturnthenumberofpairs.ExampleGivennums=[1,1,2,45,46,46],target=47return21
纸上得来终觉浅 绝知此事要躬行
·
2020-09-12 23:18
LintCode
双指针/滑动窗口/Two Sum类型题总结
双指针题算是数组类型题目的一个子模块了。373.PartitionArraybyOddandEven把一个数组划分为奇数在前偶数在后的状态,要求inplace。很简单,就用双指针法,让两个指针从两头往中间扫描,当左边是偶数右边是奇数时就交换,直到左右指针相遇为止。publicvoidpartitionArray(int[]nums){intleft=0,right=nums.length-1;wh
月光下的夜曲
·
2020-09-12 21:53
Algorithm
LintCode
148. 颜色分类 JavaScript算法
描述给定一个包含红,白,蓝且长度为n的数组,将数组元素进行分类使相同颜色的元素相邻,并按照红、白、蓝的顺序进行排序。我们可以使用整数0,1和2分别代表红,白,蓝。说明不能使用代码库中的排序函数来解决这个问题。排序需要在原数组中进行。样例-样例1:输入:[1,0,1,2]输出:[0,1,1,2]解释:原地排序。挑战一个相当直接的解决方案是使用计数排序扫描2遍的算法。首先,迭代数组计算0,1,2出现的
SmallTeddy
·
2020-09-12 21:10
LintCode
算法
数据结构
python
java
排序算法
lintcode
----删除链表中倒数第n个节点
思路:声明两个指针,指向自己定义的一个指向head的节点,其中一个后移n-1之后,再一起移动,直到先移动的那个指针到末尾,另一个则指向要删除的前一个节点,做删除操作ListNode*removeNthFromEnd(ListNode*head,intn){//writeyourcodehereif(head==NULL)returnhead;ListNode*myhead=newListNode(
步行者之神
·
2020-09-12 20:58
lintcode
链表
指针
移动
35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」
当日设了七点闹钟,结果五点五十三分惊醒后再无法入睡,起床,重新翻看之前做的笔记和重点,在
lintcode
上找了几道可能性较大的题进行练手。10点准时在蚂蚁金服总部开始面试,十点四十七分结束。
程序员黑哥
·
2020-09-12 17:04
分布式
java
面试
编程语言
spring
背包问题常见题型
而背包问题无疑是一个很好的补充:这里会陆续加入在oj中我认为的背包问题http://www.
lintcode
.com/zh-cn/problem/backpack-ii/给出n个物品的体积A[i]和其价值
zz_Outlier
·
2020-09-12 16:17
常见算法
【
Lintcode
】二分查找
描述:给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。样例1:输入:[1,4,4,5,7,7,8,9,9,10],1输出:0样例解释:第一次出现在第0个位置。样例2:输入:[1,2,3,3,4,5,10],3输出:2样例解释:第一次出现在第2个位置样例3:输入:[1,2,3
Monster_Girl
·
2020-09-12 15:33
Lintcode
【
Lintcode
】A+B问题
题目描述:给出两个整数a和b,求他们的和,但不能使用+等数学运算符。注意事项你不需要从输入流读入数据,只需要根据aplusb的两个参数a和b,计算他们的和并返回就行。说明:a和b都是32位整数么?是的我可以使用位运算符么?当然可以样例如果a=1并且b=2,返回3思路:既然提示使用位运算,那么我们肯定首选用位运算。以5+17为例:在二进制中(5=101,17=10001)分3步:1.忽略进位,对应各
Monster_Girl
·
2020-09-12 15:33
Lintcode
lintcode
,最长无重复字符的子串
给定一个字符串,请找出其中无重复字符的最长子字符串。样例例如,在”abcabcbb”中,其无重复字符的最长子字符串是”abc”,其长度为3。对于,”bbbbb”,其无重复字符的最长子字符串为”b”,长度为1。一刷没有ac下面链接里面解释的很清楚,可以参考http://blog.csdn.net/imabluefish/article/details/38662827二刷没有ac,还是错在了map.
zsjmfy
·
2020-09-12 14:06
lintcode
lintcode
,二叉树的最大深度
给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的距离。解题思路:递归解乏就是判断左右子树最大深度哪一个更大。还可以用两个栈分别存储节点和节点所在深度,只要节点栈不为空,就取出深度判断是否更大,然后将左右孩子节点放进节点栈和节点深度栈。一刷ac。二刷ac/***DefinitionofTreeNode:*publicclassTreeNode{*publicintval;*pub
zsjmfy
·
2020-09-12 14:06
lintcode
lintcode
lintcode
,反转整数
将一个整数中的数字进行颠倒,当颠倒后的整数溢出时,返回0(标记为32位整数)。给定x=123,返回321给定x=-123,返回-321解题思路:有个技巧,在反转每一位的时候判断一下有没有越界。这里整数反转可以不判断是否为正负,因为每次都模拟翻转的过程,即取余加到上次结果左移一位,同时纪录左移一位之前的结果,判断是否移动一位之后越界溢出了。一刷ac二刷acpublicclassSolution{/*
zsjmfy
·
2020-09-12 14:06
lintcode
二叉查找树的中序后继 -
LintCode
描述给定一个二叉查找树(什么是二叉查找树),以及一个节点,求该节点在中序遍历的后继,如果没有返回null保证p是给定二叉树中的一个节点。(您可以直接通过内存地址找到p)样例给出tree=[2,1]node=1:2/1返回node2.给出tree=[2,1,3]node=2:2/\13返回node3.挑战O(h),其中h是BST的高度。思路#ifndefC448_H#defineC448_H#inc
zhaokane
·
2020-09-12 14:24
LintCode
C++
lintcode
二叉树的层次遍历
1.描述:给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问)您在真实的面试中是否遇到过这个题?Yes样例给一棵二叉树{3,9,20,#,#,15,7}:3/\920/\157返回他的分层遍历结果:[[3],[9,20],[15,7]]2.思路:先判断根节点不为空时将根节点放入队列q中,whileq不为空时,令l等于q的长度,whilel不等于0,将q的头结点赋给top,然后把top的值加入
import_torch_as_tf
·
2020-09-12 14:19
c++
lintcode
二叉树的层次遍历
1:问题描述:给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问)2:解题思路:将每一层的数据存到队列里面去,用递归的方法访问,层次依次增加。3:解题代码:/***DefinitionofTreeNode:*classTreeNode{*public:*intval;*TreeNode*left,*right;*TreeNode(intval){*this->val=val;*this->l
wyyyyyyyybiu
·
2020-09-12 14:45
二叉树
LintCode
-剑指Offer-(70)二叉树的层次遍历Ⅱ
classSolution{/***@paramroot:Therootofbinarytree.*@return:Levelorderalistoflistsofinteger*/public:voidlev(TreeNode*node,intlevelnum,vector
风顺水流
·
2020-09-12 14:01
LintCode
二叉树的层次遍历-
LintCode
描述:给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问)样例:给一棵二叉树{3,9,20,#,#,15,7}:3/\920/\157返回他的分层遍历结果:[[3],[9,20],[15,7]]思路:1.这个题我们主要采用队列的先进先出的思想。2.首先先建一个队列q,用来存放二叉树每一层的节点。定义一个lengh,来确定每一层节点的个数,进而确定当前内循环的次数。3.每次内循环中我们需要做的
this_is_qiqi
·
2020-09-12 14:13
领扣lintcode
LintCode
二叉树的最大节点
题目描述:在二叉树中寻找值最大的节点并返回。样例给出如下一棵二叉树:1/\-52/\/\03-4-5返回值为3的节点。思路分析:遍历一遍记录最大值。ac代码:classSolution{public:/***@paramroottherootofbinarytree*@returnthemaxnode*/intmaxx=-99999;TreeNode*nmax;voidmax(TreeNode*r
Lee丶0767
·
2020-09-12 13:51
二叉树
LintCode
合并区间
题目描述:给出若干闭合区间,合并所有重叠的部分。您在真实的面试中是否遇到过这个题?Yes样例给出的区间列表=>合并后的区间列表:[[[1,3],[1,6],[2,6],=>[8,10],[8,10],[15,18][15,18]]]ac代码:/***DefinitionofInterval:*classsInterval{*intstart,end;*Interval(intstart,inten
Lee丶0767
·
2020-09-12 13:51
上一页
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
其他