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-
动态规划总结(一)
动态规划递归和动态规划都是将原问题拆成多个子问题然后求解,他们之间最本质的区别是,动态规划保存了子问题的解,避免重复计算。斐波那契数列爬楼梯70.ClimbingStairs(Easy)题目描述:有N阶楼梯,每次可以上一阶或者两阶,求有多少种上楼梯的方法。定义一个数组dp存储上楼梯的方法数(为了方便讨论,数组下标从1开始),dp[i]表示走到第i个楼梯的方法数目。第i个楼梯可以从第i-1和i-2个
HUANG Zichen
·
2018-11-15 20:28
coding
leetCode 2 Add Two Numbers
https://leetcode.windliang.cc/第一时间发布题目描述(
中等难度
)image.png就是两个链表表示的数相加,这样就可以实现两个很大的数相加了,无需考虑数值int,float的限制了
windliang
·
2018-11-14 15:06
LeetCode-
数组与矩阵总结
数组与矩阵把数组中的0移到末尾283.MoveZeroes(Easy)Forexample,givennums=[0,1,0,3,12],aftercallingyourfunction,numsshouldbe[1,3,12,0,0].classSolution{publicvoidmoveZeroes(int[]nums){if(null==nums||0==nums.length){retu
HUANG Zichen
·
2018-11-13 10:32
coding
LeetCode-
栈和队列总结
栈和队列栈和队列是很重要的数据结构,栈是先进后出,队列是先进先出,可以用两个栈实现队列,也可以用一个队列实现栈,这些基本操作都应该掌握熟练。数组中元素与下一个比它大的元素之间的距离739.DailyTemperatures(Medium)Input:[73,74,75,71,69,72,76,73]Output:[1,1,4,2,1,1,0,0]在遍历数组时用栈把数组中的数存起来,如果当前遍历的数
HUANG Zichen
·
2018-11-09 18:32
LeetCode
coding
刺激战场s4赛季第八周任务怎么做 s4赛季第八周任务完成方法
中等难度
:击败敌后方,20秒
佚名
·
2018-11-07 09:36
万思乐学v-learn小西妈双语工程1708期133号coco2018-11-5
图片发自App阅读:海尼曼芽姐书单第四周+
中等难度
四本指读四本
颜小彦_d20b
·
2018-11-06 06:07
《三生有幸》读后篇--愉悦、心流、使命
玩游戏等方式可以获得3专注3.1以分钟为单位,通常25分钟左右3.2产生心流:专心做一件事,特别投入,怕被人打断的状态3.3不断挑战自己能力的过程中3.3.1觉醒:中技能进行高难度挑战3.3.2掌控:熟练技能进行
中等难度
挑战
呆呆dy
·
2018-10-26 22:39
LeetCode-
双指针总结
--双指针--双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。通过双指针可大大优化复杂度,减小因多重循环浪费的时间。例题一:two-sum-ii-input-array-is-sort题目描述:在有序数组中找出两个数,使它们的和为target。使用双指针,一个指针指向值较小的元素,一个指针指向值较大的元素。指向较小元素的指针从头向尾遍历,指向较大元素的指针从尾向头遍历。如果两个指
HUANG Zichen
·
2018-10-24 14:24
coding
Leetcode-
贪心算法
贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。455.分发饼干题目链接思路这道题目给了我们两组array,一组代表小朋友的胃口值,另一组代表曲奇饼干的大小。我们要分发曲奇给尽可能多的小朋友,并且曲奇饼干的大小要满足小朋友的胃口。所以,最好给孩子们分配与他胃口最接近的饼干。不能把大的曲奇去满足很小
EmilyGnn
·
2018-10-23 20:34
Leetcode五大算法
【
LeetCode-
面试-算法】股票的最大盈利值
这个题目遇到两次:联想面试手写代码+码隆科技在线笔试。LeetCode原题:题号:121.BestTimetoBuyandSellStock链接:https://leetcode.com/problems/best-time-to-buy-and-sell-stock/description/题目描述:给定一个整形数组,其中的第i个元素代表股票第i天的价格。在一开始,你手里有足够的钱,但没有股票。
Microstrong0305
·
2018-10-21 21:38
算法
LeetCode
LeetCode-
第十六题:3Sum Closest
题目题目源码publicclassSolution{publicintthreeSumClosest(int[]nums,inttarget){Arrays.sort(nums);intresult=nums[0]+nums[1]+nums[2];intdis=result-target;intlen=nums.length;for(inti=0;i0&&nums[i]==nums[i-1]){c
baixiaoshuai
·
2018-10-16 15:56
LeetCode-
第十五题:3Sum
题目题目分析源码publicclassSolution{publicList>threeSum(int[]nums){List>result=newArrayList0){break;}if(i>0&&nums[i]==nums[i-1]){continue;}inttarget=-nums[i];intj=i+1;intm=len-1;while(jlist=newArrayList<>();l
baixiaoshuai
·
2018-10-16 15:55
Roman to Integer 整数与罗马数字互转(
中等难度
)
地址:https://leetcode.com/problems/integer-to-roman/description/思维:整数转化为罗马数字在这里输入是数字,所以不用担心输入的问题,但是每个结果里面有好几种可能。可以分为四类,100到300一类,400一类,500到800一类,900最后一类。每一位上的情况都是类似的分完情况,用数组表示罗马数字和数字的对应,依次遍历循环。代码://可以分为
收一伞烟雨_
·
2018-10-07 15:59
算法
Container With Most Water最大水容器(
中等难度
)
题目:Givennnon-negativeintegersa1,a2,…,an,whereeachrepresentsapointatcoordinate(i,ai).nverticallinesaredrawnsuchthatthetwoendpointsoflineiisat(i,ai)and(i,0).Findtwolines,whichtogetherwithx-axisformsacon
收一伞烟雨_
·
2018-10-07 13:34
算法
LeetCode算法练习——广度优先搜索 BFS
前一段时间完成30道DFS题目的练习,现在开始BFS,预计做完BFS分类中的所有
中等难度
题。
BlackBlog__
·
2018-09-30 20:06
leetcode-
腾讯算法笔试题
数组和字符串:两数之和:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。代码:classSolution:deftwoSum(self,nums,target):""":typenums:List[int]:typetarget:int:rtype:List[int]"""foriinrange(len(nums)):num
thxiong1234
·
2018-09-20 22:20
Python
LeetCode-
找不同
给定两个字符串s和t,它们只包含小写字母。字符串t由字符串s随机重排,然后在随机位置添加一个字母。请找出在t中被添加的字母。示例:输入:s="abcd"t="abcde"输出:e解释:'e'是那个被添加的字母。代码:classSolution{publiccharfindTheDifference(Strings,Stringt){char[]s_array=s.toCharArray();cha
G_dalx
·
2018-09-20 21:40
Leetcode水题——matrix
前言第一次接触Leedcode,提交方式真的有点醉,一开始还吐槽没有数据规模输入来着...............从
中等难度
开始水Matrix题解这道题比较简单,分两步扫描,第一步,从左到右,从上到下扫描
菜到怀疑人生
·
2018-09-17 22:43
Leetcode
Leetcode-
初级算法-存在重复元素
本文首发于我的个人Blog阿西BUG,欢迎大家批评指正题目给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回true。如果数组中每个元素都不相同,则返回false。示例1输入:[1,2,3,1]输出:true示例2:输入:[1,2,3,4]输出:false示例3:输入:[1,1,1,3,3,4,3,2,4,2]输出:true自己的思路思路1双层循环,就是想着说先用最笨
路飞的小迷弟
·
2018-09-17 10:37
算法
C++
Leetcode-
初级算法-数组循环右移
本文首发于我的个人Blog阿西BUG,欢迎大家批评指正题目给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。示例1输入:[1,2,3,4,5,6,7]和k=3输出:[5,6,7,1,2,3,4]解释:向右旋转1步:[7,1,2,3,4,5,6]向右旋转2步:[6,7,1,2,3,4,5]向右旋转3步:[5,6,7,1,2,3,4]示例2输入:[-1,-100,3,99]和k=2输出:[
路飞的小迷弟
·
2018-09-17 10:06
算法
C++
Leetcode-
初级算法-两数之和
本文首发于我的个人Blog阿西BUG,欢迎大家批评指正题目给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定nums=[2,7,11,15],target=9因为nums[0]+nums[1]=2+7=9所以返回[0,1]自己的思路遍历每个元素x,并查找是否存在一个值与target−x相等的目标元素。耗时:188ms
路飞的小迷弟
·
2018-09-17 09:18
算法
LeetCode-
转换成小写字母
实现函数ToLowerCase(),该函数接收一个字符串参数str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。示例1:输入:"Hello"输出:"hello"示例2:输入:"here"输出:"here"示例3:输入:"LOVELY"输出:"lovely"思路:小写转大写-32大写转小写+32代码:classSolution{publicStringtoLowerCase(Stri
G_dalx
·
2018-09-14 21:05
CCF-201703-3-Markdown-(Java-100分)
这题图片很多就不贴图和复制题目了,直接进入正题这题在第三题里面算是
中等难度
,但是我在练习时也花了很多时间,唉!这道题其实还是挺麻烦,很恶心的。
AivenZ
·
2018-09-12 19:22
CCF
900-RLE 迭代器
前言WeeklyContest101的第一道题目,虽然分值才4分,但是却是
中等难度
的题目RLE迭代器:编写一个遍历游程编码序列的迭代器。
Null
·
2018-09-09 00:00
leetcode
算法
java
迭代器
压缩
901-股票价格跨度
前言WeeklyContest101的第二道题目,同样是分值4分且
中等难度
的题目股票价格跨度:编写一个StockSpanner类,它收集某些股票的每日报价,并返回该股票当日价格的跨度。
Null
·
2018-09-09 00:00
leetcode
算法
java
LeetCode-
初级-链表-环形链表(JavaScript)
给定一个链表,判断链表中是否有环。进阶:你能否不使用额外空间解决此题?思路:设置两个指针p1,p2。p1每次走一步,p2每次走两步。若没有环,则两者不会碰到,若有环,则必然会碰到。/***Definitionforsingly-linkedlist.*functionListNode(val){*this.val=val;*this.next=null;*}*//***@param{ListNod
进击的桐人
·
2018-09-08 16:18
javascript
初级算法-链表
leetcode
javascript
leetcode-
初级算法-数组-旋转图像
题目:给定一个n×n的二维矩阵表示一个图像。将图像顺时针旋转90度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。解决方法://旋转二维数组可通过两个步骤完成://一、沿对角线对称翻转//二、沿中心线左右对称翻转publicvoidrotate(int[][]matrix){for(inti=0;ii){inttemp1=matrix[j][i]
iamchuancey
·
2018-09-04 16:39
leetcode
leetcode-
初级算法-数组-两数之和
题目:两数之和给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。解决方法://待优化:双指针法的加减对全是负数的数组不适用publicint[]twoSum(int[]nums,inttarget){inttempArray[]=newint[nums.length];for(inti=0;itarget){range=k;b
iamchuancey
·
2018-09-04 16:22
leetcode
leetcode-
初级算法-数组-移动零
题目:移动零给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。解决方法:publicvoidmoveZeroes(int[]nums){for(inti=1;i=1&&nums[j-1]==0){nums[j-1]=nums[j];nums[j]=0;j=j-1;}}}
iamchuancey
·
2018-09-04 16:44
leetcode
leetcode-
初级算法-数组-加1
题目:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位,数组中每个元素只存储一个数字。你可以假设除了整数0之外,这个整数不会以零开头。解决方法://待优化:能支持的最大的数字的位数有限publicint[]plusOne(int[]digits){longnumber=0;//暂时记录数字intindex=1;//记录加1后的位数longnumberPl
iamchuancey
·
2018-09-04 16:12
加1
leetcode
leetcode
leetcode-
初级算法-数组-两个数组的交集 II
题目:两个数组的交集II给定两个数组,编写一个函数来计算它们的交集。解决方法:publicint[]intersect(int[]nums1,int[]nums2){//对两个数组进行排序Arrays.sort(nums1);Arrays.sort(nums2);intpointer1=0;intpointer2=0;intarr[]=newint[nums1.length];intindex=0
iamchuancey
·
2018-09-04 16:11
leetcode
leetcode-
初级算法-数组-只出现一次的数字
题目:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。你可以不使用额外空间来实现吗?解决方法:publicintsingleNumber(int[]nums){Arrays.sort(nums);intsingleNumber=-1;if(nums.length==1){singleNumber=nums[
iamchuancey
·
2018-09-04 16:39
leetcode
LeetCode-
初级算法-数组-存在重复
题目给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回true。如果数组中每个元素都不相同,则返回false。解决方法publicbooleancontainsDuplicate(int[]nums){booleanflag=false;Arrays.sort(nums);for(inti=0;i
iamchuancey
·
2018-09-04 16:43
存在重复
leetcode
leetcode
leetcode-
初级算法-数组-旋转数组
题目:给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。解决方法:publicint[]rotate(int[]nums,intk){intnewarr[]=newint[nums.length];for(inti=0;i
iamchuancey
·
2018-09-04 15:20
leetcode
LeetCode-
【数组】-有效三角形的个数
给定一个包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数。示例1:输入:[2,2,3,4]输出:3解释:有效的组合是:2,3,4(使用第一个2)2,3,4(使用第二个2)2,2,3注意:数组长度不超过1000。数组里整数的范围为[0,1000]。题解:要想构成三角形,只需三角形中两条最短边之和大于最长边即可。基于这样的原理,我们可以先将数组从小到大进行排序。将数组排序后,我们
追风筝的咸鱼
·
2018-08-27 20:30
Java
LeetCode
LeetCode 128.最长连续序列(Longest Consecutive Sequence)【并查集】【HashMap技巧】
中等难度
题吧,不算hard题,需要了解并查集用法将连续的数字进行合并成一个集合,最后看所有集合中哪个集合数目最多(或者直接边合并边记录最大值)#include#include#include#include
一只热爱游戏的猫
·
2018-08-09 16:49
LeetCode
贪心算法
搜索
高级数据结构
Queue Reconstruction by Height(根据身高重建队列)
中等难度
假设有打乱顺序的一群人站成一个队列。每个人由一个整数对(h,k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。编写一个算法来重建这个队列。注意:总人数少于1100人。示例输入:[[7,0],[4,4],[7,1],[5,0],[6,1],[5,2]]输出:[[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]]这道题我思考了很多方法,包括说一个一个地排序
Viewz
·
2018-08-04 16:26
leetcode
LeetCode-
合并两个有序链表(java实现)
题目如下看完题目之后,思考的结果是用递归做应该是最佳的选择。但无奈水平真的有限,没有想出来如何用设计递归。提交的时候就没有用递归实现,运行结果可想而知:23ms。看了第一名的用时是5ms,而且代码简洁优美,不得不佩服/***Definitionforsingly-linkedlist*/classListNode{intval;ListNodenext;ListNode(intx){val=x;}
fengpojian
·
2018-08-03 11:21
算法
LeetCode-
有效的括号(java实现)
题目如下:刚看到这题的时候,还是非常简单的想暴力解决。暴露了眼界还是太狭隘。刚开始的想法是只要判断出"(){}[]"、"({[]})"、"()"...等这样为true的情况应该就能解决问题了。但是想法太简单,运行的结果不是忘了判断这种情况就是忘了判断那种情况,最后运算还超时了。后来在网上找了一下代码,运行时间为14ms。这段代码运用了栈stack,这是以前的知识盲区。整体的思路是这样的:例如我们需
fengpojian
·
2018-08-02 11:45
算法
leetcode-
数组-旋转数组|Rotate Array(Python3)
给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。示例1:输入:[1,2,3,4,5,6,7]和k=3输出:[5,6,7,1,2,3,4]解释:向右旋转1步:[7,1,2,3,4,5,6]向右旋转2步:[6,7,1,2,3,4,5]向右旋转3步:[5,6,7,1,2,3,4]示例2:输入:[-1,-100,3,99]和k=2输出:[3,99,-1,-100]解释:向右旋转1步:[99,
lqy007700
·
2018-07-25 15:16
Leetcode-
计算两个排序数组的中位数
阅读更多题目描述给定两个大小为m和n的有序数组nums1和nums2。请找出这两个有序数组的中位数。要求算法的时间复杂度为O(log(m+n))。示例1:nums1=[1,3]nums2=[2]中位数是2.0示例2:nums1=[1,2]nums2=[3,4]中位数是(2+3)/2=2.5算法实现我的实现思路根据元素总个数,计算出中位数的位置。如果总个数为奇数,则中位数取中间一个即可。如果总个数为
zhanjia
·
2018-07-22 00:00
leetcode
算法
数据结构
二分查找
折半查找
Leetcode-
计算两个排序数组的中位数
阅读更多题目描述给定两个大小为m和n的有序数组nums1和nums2。请找出这两个有序数组的中位数。要求算法的时间复杂度为O(log(m+n))。示例1:nums1=[1,3]nums2=[2]中位数是2.0示例2:nums1=[1,2]nums2=[3,4]中位数是(2+3)/2=2.5算法实现我的实现思路根据元素总个数,计算出中位数的位置。如果总个数为奇数,则中位数取中间一个即可。如果总个数为
zhanjia
·
2018-07-22 00:00
leetcode
算法
数据结构
二分查找
折半查找
[
leetcode-
链表]24. 两两交换链表中的节点
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。示例:给定1->2->3->4,你应该返回2->1->4->3.说明:你的算法只能使用常数的额外空间。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。//======================================================================/***Definitionfor
qq_20398345
·
2018-07-17 13:52
[leetcode-链表]
Leetcode刷题——三数之和
今天开始刷leetcode
中等难度
的算法题了,第一道是三数之和,看下题目要求:思路:好久没刷题了手非常生,思路也很枯竭,只想到了暴力循环,找到所有相加等于零的vector之后对每一个vector做一个排序然后判断是否相等
Miss_yuki
·
2018-06-24 17:03
数组
【
Leetcode-
算法-Python3】1. 两数之和
classSolution(object):deftwoSum(self,nums,target):""":typenums:List[int]:typetarget:int:rtype:List[int]"""fori,iteminenumerate(nums):b=target-itemifbinnums:j=nums.index(b)ifi!=j:return[i,j]执行用时:1388ms
gxnustc
·
2018-05-28 17:18
Leetcode
leetcode-
两数之和-C++
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定nums=[2,7,11,15],target=9因为nums[0]+nums[1]=2+7=9所以返回[0,1]法一:暴力法vectortwoSum(vector&nums,inttarget){vectorresult;for(inti=0;itwoSum(vec
CaelusZhao
·
2018-05-19 11:16
C++
leetcode
LeetCode-
两数&三数之和系列问题
三数之和LintCode57三数之和解题思路:先对数组排序,然后开始遍历,对于数组中的每一个元素,用两指针往中间夹,直到找出所有的解。时间复杂度O(n^2).ps:为什么会想到对数组元素进行排序呢,排序是为了让元素之间呈现出某种规律,处理起来会简单很多。所以,当你觉得一个似乎无从下手的问题的时候,不妨尝试去寻找或制造一种“规律”,排序是手段之一。publicclassSolution{/***@p
OkidoGreen
·
2018-05-14 12:30
算法-LeetCode
53. 最大子序和
题目解析参考
leetcode-
最大子序和(四种)第一种解法——暴力枚举法O(N^3)从左往右依次找出所有的子序列并计算其每个子序列的和,最后返回最大的//暴力破解O(N^3)publicintmaxSubArray
雇个城管打天下
·
2018-04-30 14:15
史上最全徒手腹肌训练动图,新技能Get!
Simple简单仰卧交替脚跟接触仰卧屈膝举腿侧卧举腿卷腹仰卧核心卷腹仰卧对角交替收膝仰卧卷腹平板支撑动作反向卷腹仰卧拉伸卷腹仰卧屈膝卷腹medium
中等难度
仰卧抬臀坐姿转体扭腰空中蹬车仰卧交替拉手卷腹触膝卷体
跑步吧
·
2018-04-26 00:00
leetcode-
删除数组重复的元素
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。示例:给定数组nums=[1,1,2],函数应该返回新的长度2,并且原数组nums的前两个元素必须是1和2。你不需要考虑数组中超出新长度后面的元素。classSolution{publicintremoveDupli
blingfeng
·
2018-04-13 14:12
算法
上一页
42
43
44
45
46
47
48
49
下一页
按字母分类:
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
其他