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
每日一道算法题
每日一道算法题
LeetCode1028:Recover a Tree From Preorder Traversal(从先序遍历还原二叉树)
从先序遍历还原二叉树题目分析题解递归总结题目我们从二叉树的根节点root开始进行深度优先搜索。在遍历中的每个节点处,我们输出D条短划线(其中D是该节点的深度),然后输出该节点的值。(如果节点的深度为D,则其直接子节点的深度为D+1。根节点的深度为0)。如果节点只有一个子节点,那么保证该子节点为左子节点。给出遍历输出S,还原树并返回其根节点root。题目链接:link.分析又是一个二叉树相关的题目,
AlanWang0o0
·
2020-08-18 13:39
字符串
二叉树
算法
leetcode
数据结构
每日一道算法题
--leetcode 507--完美数--C++
【题目描述】【代码思路】解读题干其实就是要求一个整数的所有因数,重点有两个:1.输入数字为num,循环的判断条件是i*inum)returnfalse;}returnsum==num?true:false;}};复制代码
weixin_34297300
·
2020-08-17 03:23
【
每日一道算法题
】
NO.1下列数据结构中,按先进后出原则组织数据的是?A.线性链表B.循环链表C.栈D.顺序表答案:这道题没什么好说的,答案是C.NO.2下面关于线性表的叙述中,错误的是哪一个?()A.线性表采用顺序存储,必须占用一片连续的存储单元。B.线性表采用顺序存储,便于进行插入和删除操作C.线性表采用链接存储,不必占用一片连续的存储单元。D.线性表采用链接存储,便于插入和删除操作。答案:线性表是链式存储结构
In客笔记
·
2020-08-15 01:45
每日一道算法题
:高楼扔鸡蛋问题(动态规划问题)
题目是这样:你面前有一栋从1到N共N层的楼,然后给你K个鸡蛋(K至少为1)。现在确定这栋楼存在楼层0#includeusingnamespacestd;intmemo[500][500]={0};intdp(intk,intn){if(k==1)returnn;//相当于当只有一个鸡蛋时,我们只能线性查找,最坏情况下实验n次后最高层刚好鸡蛋碎。if(n>k>>n;cout#includeusing
山南水北花草青
·
2020-08-10 20:33
基础算法
每日一道算法题
--leetcode 3--最长子串--C++
给定一个字符串,找出不含有重复字符的最长子串的长度。classSolution{public:intlengthOfLongestSubstring(strings){intslength=s.length();intmaxlength=0;intcurrentlength=1;inti=0;intj=1;intsame=0;intnowpoint=0;intlastlength=1;if(sle
Royel transformed
·
2020-08-06 13:09
每日一道算法题
C++
每日一道算法题
LeetCode112:Path Sum(路径总和 )
路径总和题目分析题解递归题目给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明:叶子节点是指没有子节点的节点。分析题目要求路径必须由根节点到叶节点,就让题目简单了很多,递归一直查到叶节点即可。递归出口有两个,到达叶节点,并且路径和为sum,返回true;到达null节点,返回false题解递归publicbooleanhasPathSum
AlanWang0o0
·
2020-08-03 12:50
#
每日一道算法题
每日一道算法题
LeetCode面试题17.13:Re-Space LCCI(恢复空格)
恢复空格题目分析题解动态规划题目哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子"Iresetthecomputer.Itstilldidn’tboot!“已经变成了"iresetthecomputeritstilldidntboot”。在处理标点符号和大小写之前,你得先把它断成词语。当然了,你有一本厚厚的词典dictionary,不过,有些词没在词典里。假设文章
AlanWang0o0
·
2020-08-03 12:50
#
每日一道算法题
每日一道算法题
LeetCode44:Wildcard Matching(通配符匹配)
这里写目录标题题目分析题解动态规划题目给定一个字符串(s)和一个字符模式§,实现一个支持‘?’和‘*’的通配符匹配。'?'可以匹配任何单个字符。'*'可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明:s可能为空,且只包含从a-z的小写字母。p可能为空,且只包含从a-z的小写字母,以及字符?和*。题目链接:link.分析不用多说,可以用动态规划。关键是递推式。一共有三种情况:
AlanWang0o0
·
2020-08-03 12:50
#
每日一道算法题
字符串
正则表达式
java
leetcode
动态规划
每日一道算法题
LeetCode139:Word Break(单词拆分)
单词拆分题目分析题解动态规划总结题目给定一个非空字符串s和一个包含非空单词列表的字典wordDict,判定s是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。链接:link.分析端午归端午,刷题不能虎,hhh。今天这道题属于中档题,浓浓的动态规划的味道,判断前i个字符是否是单词,只需要知道前j个能不能分解为单词,以及和i-j是不
AlanWang0o0
·
2020-08-03 12:50
每日一道算法题
LeetCode面试题16.11:Diving Board LCCI(跳水板)
跳水板题目分析题解遍历k种情况题目你正在使用一堆木板建造跳水板。有两种类型的木板,其中长度较短的木板长度为shorter,长度较长的木板长度为longer。你必须正好使用k块木板。编写一个方法,生成跳水板所有可能的长度。返回的长度需要从小到大排列。题目链接:link.分析一道数学问题,结果是从k*shorter到k*longer,间隔为longer-shorter,可以直接生成这个数组,用pyth
AlanWang0o0
·
2020-08-03 12:50
#
每日一道算法题
每日一道算法题
:LeetCode 63:Unique Paths II(不同路径 II )
不同路径II题目分析题解动态规划题目一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?题目链接:link.分析这道题作为不同路径系列的第二道,难度始终,当对于不同路径I,新增了障碍物,解题思路改变不大。使用动
AlanWang0o0
·
2020-08-03 12:50
#
每日一道算法题
每日一道算法题
LeetCode15:3Sum(三数之和)
三数之和题目分析题解暴力法双指针总结题目给你一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c,使得a+b+c=0?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。分析这个题实际上有两个要求,首先要找到三个数和为0,其次不包含重复的三元组,其实我倒觉得第一个要求并不难,去重反而较为麻烦题解暴力法对于这种题,暴力法永远都是可以完成的,要有三个数的和为0
AlanWang0o0
·
2020-08-03 12:49
每日一道算法题
LeetCode1300:Sum of Mutated Array Closest to Target(转变数组后最接近目标值的数组和)
转变数组后最接近目标值的数组和题目分析题解排序后遍历枚举+二分查找总结题目题目:给你一个整数数组arr和一个目标值target,请你返回一个整数value,使得将数组中所有大于value的值变成value后,数组的和最接近target(最接近表示两者之差的绝对值最小)。如果有多种使得和最接近target的方案,请你返回这些整数中的最小值。请注意,答案不一定是arr中的数字。题目链接:link.分析
AlanWang0o0
·
2020-08-03 12:49
算法
java
数据结构
leetcode
每日一道算法题
LeetCode739:Daily Temperature(每日温度)
每日温度题目分析题解暴力求解递减栈暴力求解改进总结题目leetcode739题目链接:link.请根据每日气温列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用0来代替。例如,给定一个列表temperatures=[73,74,75,71,69,72,76,73],你的输出应该是[1,1,4,2,1,1,0,0]。提示:气温
AlanWang0o0
·
2020-08-03 10:09
每日一道算法题
之剪绳子
题目:给你一根长度为n的绳子,请把绳子剪成整数长度的m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1]…k[m-1]。请问k[0]k[1]…*k[m-1]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。示例1:输入:2输出:1解释:2=1+1,1×1=1示例2:输入:10输出:36解释:10=3+3+4,
weixin_43908469
·
2020-08-02 14:44
[
每日一道算法题
] 从上往下打印二叉树
AlgorithmOJaddressOJwebsite:从上往下打印二叉树Description从上往下打印出二叉树的每个节点,同层节点从左至右打印。SolutioninC++//从上往下打印出二叉树的每个节点,同层节点从左至右打印。#include#includeusingnamespacestd;structTreeNode{charval;structTreeNode*left;struct
Levi段玉磊
·
2020-07-28 01:03
每日一道算法题
——1
每日一道算法题
——1从昨天开始,我想每天写一道算法题,虽然比较简单,但是相信积累起来还是有借鉴意义的。所以想用博客的方式记录下来。
CSU_ICELEE
·
2020-07-16 04:38
基本算法
每日一道算法题
——两个不数字的系列之和相加
每日一道算法题
——两个不数字的系列之和相加javascript实现跟数列求和差不多Giventwointegersaandb,whichcanbepositiveornegative,findthesumofallthenumbersbetweenincludingthemtooandreturnit.Ifthetwonumbersareequalreturnaorb.Note
追求者2016
·
2020-07-15 22:00
JavaScript
算法
每日一道算法题
——字符交替换位拼接实现字符串加密
每日一道算法题
——字符交替换位拼接实现字符串加密@time:20180505@author:hotsuitor@qq.com参考:https://repl.it/@nivanov1030/Code-Wars-simple-encryption
追求者2016
·
2020-07-15 22:00
JavaScript
算法
每日一道算法题
——对称二叉树
题目:给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3,4,4,3]是对称的。1/\22/\/\3443但是下面这个[1,2,2,null,3,null,3]则不是镜像对称的:1/\22\\33说明:如果你可以运用递归和迭代两种方法解决这个问题,会很加分。解答:/***Definitionforabinarytreenode.*structTreeNode{*intval;*s
ShawnWang1994
·
2020-07-15 18:58
算法题(leetcode)
【
每日一道算法题
】Leetcode之gas-station 加油站问题 Java
134.加油站leetcode题目描述:环形路上有n个加油站,第i个加油站的汽油量是gas[i].你有一辆车,车的油箱可以无限装汽油。从加油站i走到下一个加油站(i+1)花费的油量是cost[i],你从一个加油站出发,刚开始的时候油箱里面没有汽油。求从哪个加油站出发可以在环形路上走一圈。返回加油站的下标,如果没有答案的话返回-1。注意:答案保证唯一。(1)例1输入:int[]gas={4,5,2,
佛系宅女
·
2020-07-15 16:29
每日一道算法题
--leetcode 142-- 环形指针II(链表+双指针)--python
【题目描述】【代码思路】这是一道快慢指针的经典应用,快慢指针从头指针出发,快指针每次走两步,慢指针每次走一步,假设链表中非环部分长度为F,环部分长度为C,那么只要有环存在,快慢指针经过C次迭代会相遇,再从相遇点起走F步可找到环的入口点。这种做法时间复杂度是O(n),空间复杂度O(1)。【源代码】classSolution(object):defdetectCycle(self,head):""":
weixin_34393428
·
2020-07-15 15:58
每日一道算法题
--leetcode 53--最大子序和(动态规划)--python
【题目描述】【代码思路】一维动态规划问题,状态转移方程为:dp[i]=max(nums[i],dp[i-1]+nums[i])【上代码】classSolution:defmaxSubArray(self,nums:List[int])->int:iflen(nums)==1:returnnums[0]dp=[]dp.append(nums[0])foriinrange(1,len(nums)):d
weixin_33709219
·
2020-07-15 15:49
每日一道算法题
——最大子序和
题目:给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入:[-2,1,-3,4,-1,2,1,-5,4],输出:6解释:连续子数组[4,-1,2,1]的和最大,为6。解答:intmaxSubArray(int*nums,intnumsSize){intmax=nums[0];//将第一个值赋值为最大值inti;for(i=0;imax)//
ShawnWang1994
·
2020-07-15 13:49
算法题(leetcode)
每日一道算法题
--leetcode 124--二叉树中的最大路径和--python
【题目描述】【源代码】classSolution(object):defmaxPathSum(self,root):""":typeroot:TreeNode:rtype:int"""self.res=float('-inf')self.dfs(root)returnself.resdefdfs(self,root):ifnotroot:return0#print'执行dfs(',root.val
weixin_34217711
·
2020-07-15 05:56
每日一道算法题
--leetcode 687--最长同值路径--C++
【题目描述】【代码思路】最近在做深度优先的特辑,同样是递归的还有我之前的leetcode695--岛屿的最大面积和leetcode872--叶子相似的树,这道题我走了一些弯路,因为理解错了题干,先看下面一个图,在我理解错误的时候,以为是只要递归的求每个结点的最长左子树同值长度与最长右子树之和就可以,那么上图的最长同值路径是从根结点26开始连接在一起同值的结点有6个,路径也就是5,但答案为4,说明题
weixin_33935777
·
2020-07-15 04:37
每日一道算法题
--leetcode 509--斐波那契数(动态规划)--python
【题目描述】【代码思路】自底向上的动态规划,避免了采用递归浪费空间以及重复计算。【源代码】classSolution(object):deffib(self,N):""":typeN:int:rtype:int"""nums=[0,1]foriinrange(2,N+1):nums.append(nums[i-1]+nums[i-2])returnnums[N]复制代码做完这道题,可以再做一下第7
weixin_33757609
·
2020-07-12 07:26
每日一道算法题
——最长公共前缀(6.17)
题目:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串“”。示例1:输入:[“flower”,“flow”,“flight”]输出:“fl”示例2:输入:[“dog”,“racecar”,“car”]输出:“”解释:输入不存在公共前缀。说明:所有输入只包含小写字母a-z。解答:char*longestCommonPrefix(char**strs,intstrsSiz
ShawnWang1994
·
2020-07-10 23:16
算法题(leetcode)
每日一道算法题
——有效的括号(6.18)
题目:给定一个只包括‘(’,’)’,’{’,’}’,’[’,’]’的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例1:输入:“()”输出:true示例2:输入:“()[]{}”输出:true示例3:输入:“(]”输出:false示例4:输入:“([)]”输出:false示例5:输入:“{[]}”输出
ShawnWang1994
·
2020-07-10 23:16
算法题(leetcode)
每日一道算法题
——爬楼梯
题目:假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定n是一个正整数。示例1:输入:2输出:2解释:有两种方法可以爬到楼顶。1阶+1阶2阶示例2:输入:3输出:3解释:有三种方法可以爬到楼顶。1阶+1阶+1阶1阶+2阶2阶+1阶解答:递归:对于任何n>=3的输入,都可以分解为先走1步然后再走(n-1)步+先走2步然后再走(n-2)步
ShawnWang1994
·
2020-07-10 23:16
算法题(leetcode)
每日一道算法题
LeetCode14:Longest Common Prefix(最长公共前缀)
最长公共前缀题目分析题解纵向比较(V1)纵向比较(V2)分治法二分法总结题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串“”。题目链接:link.分析题目并不难,函数输入为一个字符串数组,输出为一个字符串,要求这个字符串是最长的公共前缀,题目的解法多样,有横向比较,纵向比较(最容易想到),还有分治法,二分法。题解纵向比较(V1)这个解法比较容易想到,先来展示第一个
AlanWang0o0
·
2020-07-10 20:10
每日一道算法题
LeetCode70:Climbing Stairs(爬楼梯)
爬楼梯题目分析题解递归动态规划总结题目假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定n是一个正整数。分析这个题比较简单,算是动态规划的入门题目了,每一级楼梯有两种到达的方式,前一阶和前两阶,很容易就得到:dp(n)=dp(n-1)+dp(n-2),根据这个,就能很容易的得到解法。题解递归根据递推公式,要求n阶就先求n-1和n-2阶
AlanWang0o0
·
2020-07-10 20:10
每日一道算法题
+面试题day1-2
文章只是总结,便于面试和手写算法。细节和详细解释,请看:https://leetcode-cn.com/1.题目算法题:1.反转链表:https://leetcode-cn.com/problems/reverse-linked-list/2.两两交换链表中的节点:https://leetcode-cn.com/problems/swap-nodes-in-pairs/3.判断链表是否有环:htt
听风丨说话
·
2020-07-06 09:07
Android面试
算法题面试专栏
每日一道算法题
LeetCode面试题02.01:Remove Duplicate Node LCCI(移除重复节点)
移除重复节点题目分析题解定义链表数组存储总结题目编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。题目链接:link.分析本题考链表,要去掉所有重复的节点,需要两步,首先判断这个节点是否重复,如果重复,将这个节点去掉。可以双重循环去重(题目进阶),也可以用空间换时间,只要一重循环就可以完成。题解定义链表publicclassListNode{publicintval;publicList
AlanWang0o0
·
2020-07-01 07:57
链表
leetcode
算法
面试
数据结构
每日一道算法题
--二维数组中的查找
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。在一个有序数组中查找某个数,我们很容易就想到二分查找,所以不难写出代码:publicclassSolution{publicbooleanFind(inttarget,int[][]array){introw
成长er
·
2020-06-25 13:58
每日一道算法题
每日一道算法题
:两个数组的交集
题目:A、B两个整数集合,设计一个算法求它们的交集,尽可能的高效。解题思路:(1)开始想到的是先将两个集合排序,然后利用两个指针指向两个集合,进行数值是否相等的判断,另指针继续遍历,代码如下:#includeusingnamespacestd;#defineM7#defineN6intcomp(constvoid*a,constvoid*b){return*(int*)a-*(int*)b;}in
jhyxss
·
2020-06-23 21:41
数据结构+算法
每日一道算法题
[1-100]--两数之和
2019年6月23日,立一个flag每天做一道算法题,先坚持100天!中间不定期更新做题的一些感受和做题的方式方法今天先来第一道题,来自于LeetCode上面的一道题目,同时也是很多公司笔试题中的一道。给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素来源:力
Ablin0205
·
2019-12-30 08:12
每日一道算法题
-leetcode189.旋转数组
前言2019.10.27日打卡算法,即解决问题的方法。同一个问题,使用不同的算法,虽然得到的结果相同,但是耗费的时间和资源是不同的。这就需要我们学习算法,找出哪个算法更好。题目每天一道leetcode189.旋转数组分类:数组难度:简单题目链接:https://leetcode-cn.com/problems/rotate-array/题目描述给定一个数组,将数组中的元素向右移动k个位置,其中k是
程序员七哥
·
2019-10-27 16:19
ToDolist
1.刷计算机网络课,补充基础知识2.
每日一道算法题
,不需太难,只求掌握。
一只特立独行的程序猿
·
2019-03-07 21:20
ToDolist
1.刷计算机网络课,补充基础知识2.
每日一道算法题
,不需太难,只求掌握。
一只特立独行的程序猿
·
2019-03-07 21:20
「
每日一道算法题
」Longest Palindromic Substring
AlgorithmOJaddressLeetcodewebsite:5.LongestPalindromicSubstringDescriptionGivenastrings,findthelongestpalindromicsubstringins.Youmayassumethatthemaximumlengthofsis1000.Example1:Input:"babad"Output:"ba
Levi段玉磊
·
2018-12-28 16:01
【
每日一道算法题
】
NO.1设指针变量fron t 表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作序列为()。A.front->next=s;front=s;B.s->next=rear;rear=s;Crear->next=s;rear=s;D.s->next=front;front=s;答案:这道题选择C,没什么好讲的。NO.2线性表中每一个元素都
In客笔记
·
2017-08-16 00:00
【
每日一道算法题
】小白鼠吃药问题
有1000个一模一样的瓶子,其中有999瓶是普通的水,有一瓶是毒药。任何喝下毒药的生物都会在一星期之后死亡。现在,你只有10只小白鼠和一星期的时间,如何检验出哪个瓶子里有毒药?参考答案:【1】根据2^10=1024,所以10个老鼠可以确定1000个瓶子具体哪个瓶子有毒。具体实现跟3个老鼠确定8个瓶子原理一样。000=0001=1010=2011=3100=4101=5110=6111=7一位表示一
helloworld
·
2017-04-19 00:00
逻辑
数据结构和算法
Android从开机到打开第一个应用发生了什么?
本人现在
每日一道算法题
的Github地址。
Jensen
·
2016-03-24 00:00
android
Android中的MVC和MVP(分析+实例)
本人现在
每日一道算法题
的Github地址。
Jensen
·
2016-03-16 00:00
mvp
mvc
android
每日一道算法题
-寻找丑数
题目:我们把只包含因子2、3和5的数称作丑数(UglyNumber)。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第1500个丑数。分析:寻找一个数是不是满足某种数(质数,水仙数)等,最简单的方法就是遍历,对于任意一个丑数必定可以写成2^m*3^n*5^p,因而对于一个丑数,只含有2,3,5因子,也就意味着该数number%2==0;num
u013256816
·
2014-05-04 21:00
算法
上一页
1
2
下一页
按字母分类:
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
其他