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-
反转字符串
反转字符串编写一个函数,其作用是将输入的字符串反转过来。示例1:输入:"hello"输出:"olleh"示例2:输入:"Aman,aplan,acanal:Panama"输出:"amanaP:lanaca,nalpa,namA"我的解答:classSolution{publicStringreverseString(Strings){char[]array=s.toCharArray();char
lamedaZzz
·
2020-08-16 10:53
算法设计与分析
算法与编程练习
Leetcode-
反转字符串
Leetcode-
反转字符串题目描述编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组char[]的形式给出。
无意登临
·
2020-08-16 09:48
leetcode-
完全平方数之动态规划和BFS
题目动态规划设数组dp[i]意义为,数字i的最少完全平方数,那么很显然dp[n]就是最终的答案;看到状态转移方程就很好理解了:dp[i]=min(dp[i],dp[i-j*j]+1);比方12,那么它只可能来自于1,4,9的组合,达到12只可能有三种情况:11+1;8+4;3+9那么,我们只需要找出dp[11],dp[8],dp[3]中最小的一个,就是答案代码如下:classSolution{pu
alex_mist
·
2020-08-16 09:27
leetcode
LeetCode-
算法-拼接单词
力扣题目地址:https://leetcode-cn.com/problems/find-words-that-can-be-formed-by-characters/首先看题目:给你一份『词汇表』(字符串数组)words和一张『字母表』(字符串)chars。假如你可以用chars中的『字母』(字符)拼写出words中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。注意:每次拼写时,ch
小胖eee
·
2020-08-16 08:55
每日一题
LeetCode-
盛水最多的容器
1盛水最多的容器给你n个非负整数a1,a2,…,an,每个数代表坐标中的一个点(i,ai)。在坐标内画n条垂直线,垂直线i的两个端点分别为(i,ai)和(i,0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为2。图中垂直线代表输入数组[1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为49。来源:力扣
water19111213
·
2020-08-16 08:22
代码之路
数据结构基础
排序算法(二) 概念篇
六、鸡尾酒排序/双向冒泡排序1)算法简介鸡尾酒排序等于是冒泡排序的轻微变形。不同的地方在于从低到高然后从高到低,而冒泡排序则仅从低到高去比较序列里的每个元素。他可以得到比冒泡排序稍微好一点的效能,原因是冒泡排序只从一个方向进行比对(由低到高),每次循环只移动一个项目。2)算法描述和分析1、依次比较相邻的两个数,将小数放在前面,大数放在后面;2、第一趟可得到:将最大数放到最后一位。3、第二趟可得到:
稚枭天卓
·
2020-08-16 08:06
数据结构与算法
数据结构基础
之 二叉堆 概念篇
【二叉堆定义】二叉堆是完全二叉树和近似二叉树,二叉堆满足堆特性:父节点的键值总是与任何一个子节点的键值保持固定的序关系,且每个节点的左子树和右子树都是一个二叉堆。当父节点的键值总是大于或等于任何一个子节点的键值时为最大堆。当父节点的键值总是小于或等于任何一个子节点的键值时为最小堆。【二叉堆操作】1.二叉堆插入:二叉堆插入只需要将插入数组尾部,然后和父节点比较判断是否需要交换(如果是最小堆,当插入点
稚枭天卓
·
2020-08-16 08:35
数据结构与算法
小贴士
LeetCode-
面试题64:求1+2+…+n
求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例1:输入:n=3输出:6示例2:输入:n=9输出:45限制:10&&(n+=sumNums(n-1))>0;returnn;}}Python实现classSolution(object):def__init__(self):self.res=0defsumNum
凌凌岛
·
2020-08-16 07:30
Code练习
leetcode
算法
leetcode-
合并两个有序链表(c语言)
题目:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4,1->3->4输出:1->1->2->3->4->4//可用递归,相对简洁但是这里用新链表来存储/***Definitionforsingly-linkedlist.*structListNode{*intval;*structListNode*next;*};*/type
剑在桥上
·
2020-08-16 07:26
Leetcode-
移除链表元素
C设置哨兵节点,常规解法/***Definitionforsingly-linkedlist.*structListNode{*intval;*structListNode*next;*};*///prev->next=curr->next/*设置一个哨兵节点,作为第一个节点的前驱节点,然后循环判断即可,不过最后要记得释放哨兵节点,否则会超出时间限制的*/structListNode*remove
莫陌莫墨
·
2020-08-16 07:07
LeetCode
链表
数据结构
算法
递归法
LeetCode-
有效的字母异位词
题目描述:给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。输入:s="anagram",t="nagaram"输出:true输入:s="rat",t="car"输出:false思路:1、可以用排序,然后再进行比较是否相同。不过再这个之前,可以先判断两个字符串长度是否相同,如果不同,可以直接返回false。publicbooleanisAnagram(Strings,Stringt)
莫陌莫墨
·
2020-08-16 07:07
LeetCode
leetcode
字符串
java
哈希表
数据结构
LeetCode-
基本计算器类问题汇总(栈的应用)
栈的概念:https://blog.csdn.net/qq_19446965/article/details/1029820471、有效的括号给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。来源:力扣(LeetCode)链接:https://l
Rnan-prince
·
2020-08-16 07:38
python
题库
LeetCode-
堆栈的使用
20.ValidParentheses有效的配对https://leetcode.com/problems/valid-parentheses/题目:如果一个字符串只包含‘(’,‘)、’{‘、’}‘、’[‘和’]‘,则确定输入字符串是否有效。打开括号必须由相同类型的括号关闭,则输入字符串是有效的。开括号必须按照正确的顺序关闭。注意,空字符串也被认为是有效的。思路:新建一个栈,遍历输入字符串,如果当
djrg92005
·
2020-08-16 06:33
【
数据结构基础
】直接插入排序
算法描述:直接插入排序的核心思想是:先比较,找到插入的合适位置后,最后插入。程序结束。比如给定一行递增的数字:1、5、9、14;然后要在这一行里插入一个数字3,假设我们从后面往前比较,3先和14比较,比14小,14往后摞一位,原来14占的位置空出来了;3再与9比较,比9小,9在往后摞一位,原来14占的位置现在被9占,原来9的位置空出来了;依次类推……3与1比较,3比1大,所以3直接插入到原来5的位
数星星的咚咚咚
·
2020-08-16 06:14
数据结构和算法
数据结构基础
总结
数据结构基础
总结数据结构一些概念数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。
带你到远方看星星
·
2020-08-16 05:39
数据结构
视频教程-
数据结构基础
系列(6):树和二叉树-数据结构
数据结构基础
系列(6):树和二叉树烟台大学计算机学院教师,近二十年教书生涯,看出了在错综复杂的教育环境中,坚持教育教学的价值与前景。
weixin_28996565
·
2020-08-16 05:02
leetcode-
有效的括号(三种语言不同思路)
C语言boolisValid(char*s){intlength=strlen(s);//因为设置的str空间是从下标1开始的,所以要length/2+2//用length/2是因为括号都是配对的,用一半的就行了char*str=(char*)malloc(length/2+2);memset(str,0,length/2+2);//初始化内存空间inti,j=0;for(i=0;ist;if(s
莫陌莫墨
·
2020-08-16 05:46
LeetCode
c++
stack
数据结构
算法
【
LeetCode-
面试算法经典-Java实现】【032-Longest Valid Parentheses(最长有效括号)】
【032-LongestValidParentheses(最长有效括号)】【
LeetCode-
面试算法经典-Java实现】【所有题目目录索引】原题Givenastringcontainingjustthecharacters
Wang-Junchao
·
2020-08-16 04:49
LeetCode
LeetCode
leetcode-
有效的括号
文章目录||法一:用栈||文末总结:||法一:用栈classSolution{public:boolisValid(strings){if(s.length()%2!=0)returnfalse;//一但是奇数说明不是有效的括号mapwordbook;//建立哈希表wordbook.insert(map::value_type(')','('));wordbook.insert(map::valu
fang 0 jun
·
2020-08-16 04:00
leetcode
栈
数据结构
leetcode
编程语言
leetcode-
顺时针打印矩阵
文章目录法一:辅助矩阵与方向数组法二:定位遍历总结:法一:辅助矩阵与方向数组classSolution{private:staticconstexprintdirections[4][2]={{0,1},{1,0},{0,-1},{-1,0}};public:vectorspiralOrder(vector>&matrix){if(matrix.size()==0||matrix[0].size(
fang 0 jun
·
2020-08-16 04:00
leetcode
算法
c++
leetcode-
有序数组中的单一元素
题目:给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数。示例1:输入:[1,1,2,3,3,4,4,8,8]输出:2示例2:输入:[3,3,7,7,10,11,11]输出:10注意:您的方案应该在O(logn)时间复杂度和O(1)空间复杂度中运行。题解:该题时间复杂度为O(n)的解法是:使用异或;时间复杂度为O(logn)的解法是:使用二分法;packagec
Lee_jiaqi
·
2020-08-16 04:26
Leetcode
LeetCode-
trapping-rain-water
Givennnon-negativeintegersrepresentinganelevationmapwherethewidthofeachbaris1,computehowmuchwateritisabletotrapafterraining.Forexample,Given[0,1,0,2,1,0,1,3,2,1,2,1],return6.Theaboveelevationmapisrepr
六月二十七
·
2020-08-16 03:22
LeetCode
LeetCode-
permutations
Givenacollectionofnumbers,returnallpossiblepermutations.Forexample,[1,2,3]havethefollowingpermutations:[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],and[3,2,1].importjava.util.*;publicclassSolution{publicAr
六月二十七
·
2020-08-16 03:50
LeetCode
LeetCode
LeetCode-
wildcard-matching
Implementwildcardpatternmatchingwithsupportfor'?'and'*'.'?'Matchesanysinglecharacter.'*'Matchesanysequenceofcharacters(includingtheemptysequence).Thematchingshouldcovertheentireinputstring(notpartial)
六月二十七
·
2020-08-16 03:50
LeetCode
LeetCode
LeetCode-
岛屿数量(bfs)
广度优先搜索模板题:给定一个由'1'(陆地)和'0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。示例1:输入:11110110101100000000输出: 1示例2:输入:11000110000010000011输出:3classSolution{private:intcount=0;intdx[
nabatl
·
2020-08-16 01:03
bfs
bfs
LeetCode
队列
C练题笔记之:
Leetcode-
面试题 02.07. 链表相交 && 160. 相交链表 &&剑指 Offer 52 两个链表的第一个公共节点
题目:剑指Offer52两个链表的第一个公共节点和面试题是一样的,160描述有点不一样,其实代码都一样给定两个(单向)链表,判定它们是否相交并返回交点。请注意相交的定义基于节点的引用,而不是基于节点的值。换句话说,如果一个链表的第k个节点与另一个链表的第j个节点是同一节点(引用完全相同),则这两个链表相交。示例1:输入:intersectVal=8,listA=[4,1,8,4,5],listB=
悦阳要努力哟
·
2020-08-15 23:53
C
刷题笔记
C练题笔记之:
Leetcode-
两数相加
这道题虽然不难,但是主要第一次碰到了三目的这种用法,所以记下来~题目:给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字0之外,这两个数都不会以0开头。示例:输入:(2->4->3)+(5->6->4)输出:7->0->8原因:342+465=
悦阳要努力哟
·
2020-08-15 23:53
C
刷题笔记
Leetcode-
数组中重复的数
题目描述题目分析题目思路比较简单,只需要找其中一个有重复的数字输出就好,可以先把数组进行排序,然后比较相邻两个数是否相同就好。时间:O(nlogn)空间:O(1)题目解答classSolution{publicintfindRepeatNumber(int[]nums){if(nums==null||nums.length<=0)return-1;Arrays.sort(nums);for(int
fucccck_ly
·
2020-08-15 23:16
LeetCode
面试
算法与数据结构
leetcode-
有效的括号(c语言)
题目:给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例1:输入:"()"输出:true示例2:输入:"()[]{}"输出:true示例3:输入:"(]"输出:false示例4:输入:"([)]"输出:false———————————————
剑在桥上
·
2020-08-15 02:59
数据结构基础
篇-链表反转(非递归与递归)C++实现
链表反转C++代码,附加打印逆序链表(不进行反转)代码。测试用例:5234105141.非递归实现思路:需要三个指针p1、p2、p3,分别指向上一个节点、当前节点与缓存的下一个节点,每次循环执行操作:(----表示为连接,usingnamespacestd;structNode{intvalue;Node*next;};intmain(){intn;//链表节点个数while(cin>>n){if
咖啡不加糖_-
·
2020-08-15 01:00
数据结构
leetcode-
删除链表元素
203.RemoveLinkedListElementsRemoveallelementsfromalinkedlistofintegersthathavevalueval.去掉链表中的val。代码classSolution{publicListNoderemoveElements(ListNodehead,intval){if(head==null)returnhead;while(head.v
青菜白玉
·
2020-08-14 21:08
leetcode
leetcode
leetcode记录
leetcode-
最大子序和
给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入:[-2,1,-3,4,-1,2,1,-5,4],输出:6解释: 连续子数组 [4,-1,2,1]的和最大,为 6。进阶:如果你已经实现复杂度为O(n)的解法,尝试使用更为精妙的分治法求解。classSolution{public:intmaxSubArray(vector&nums){in
seasea1991
·
2020-08-14 20:30
leetcode-
面试题 02.03. 删除中间节点
//面试题02.03.删除中间节点//实现一种算法,删除单向链表中间的某个节点(除了第一个和最后一个节点,不一定是中间节点),假定你只能访问该节点。//示例://输入:单向链表a->b->c->d->e->f中的节点c//结果:不返回任何数据,但该链表变为a->b->d->e->f//来源:力扣(LeetCode)//链接:https://leetcode-cn.com/problems/dele
qianzi_wei
·
2020-08-14 18:43
leetcode
C练题笔记之:
Leetcode-
面试题 02.03. 删除中间节点 && 237. 删除链表中的节点
面试题一开始看的很奇怪,因为我理解成给我的node是头,所以不知道删除什么。后来才明白给我的是要删除的节点,而没有给我头。237题的描述就很清楚。既然如此,只能让自己成为自己下一个节点,然后删除下一个节点了。题目:结果:面试题:237:代码:(代码完全一样)/***Definitionforsingly-linkedlist.*structListNode{*intval;*structListN
悦阳要努力哟
·
2020-08-14 17:42
C
刷题笔记
Leetcode-
删除链表中的节点
55.删除链表中的节点题目内容:代码及思路:第一次做题的时候按照之前做题的思路,给定一个列表LinkNode*head和一个目标节点数target,则可以实现题目中的要求:/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode(intx):val(x),next(NULL){}*};*/
chestnutllin
·
2020-08-14 17:07
Leetcode编程题
相交链表(
数据结构基础
回顾)
编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点c1开始相交。示例1:输入:intersectVal=8,listA=[4,1,8,4,5],listB=[5,0,1,8,4,5],skipA=2,skipB=3输出:Referenceofthenodewithvalue=8输入解释:相交节点的值为8(注意,如果两个链表相交则不能为0)。从各自的表头开始算起,链表A为[4,1,
光丿之晨曦。
·
2020-08-14 16:26
数据结构基础
链表
[
LeetCode-
面试02.01]删除单链表中的重复元素
一.题目编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。示例1:输入:[1,2,3,3,2,1]输出:[1,2,3]示例2:输入:[1,1,1,1,2]输出:[1,2]提示:链表长度在[0,20000]范围内。链表元素在[0,20000]范围内二.题解1.第一种方法:双指针法(1)解题思路:HashSet中存入未曾出现的元素,pre和current依次向后推进HashSet出现出现过的
Movle
·
2020-08-14 16:45
LeetCode
数据结构例程——交换排序之冒泡排序
本文是[
数据结构基础
系列(9):排序]中第4课时[交换排序之冒泡排序]的例程。
迂者-贺利坚
·
2020-08-14 14:38
数据结构
leetcode-
字符串-简单-C-第一部分
文章目录序号13序号14序号20序号38序号58序号67序号125序号344序号345序号383序号387序号392序号415序号434序号443序号520序号521序号541序号551序号557序号13解析:由后一个字母和前一个字母大小比较,决定前一个字母的正负模拟存储字母对应值,可以用数组保存,也可以函数switch返回intromanToInt(char*s){intvalue[150]={
鲁仲连
·
2020-08-14 14:51
C/C++
leetcode-
链表-简单-C
文章目录序号21序号83序号141序号160序号203序号206序号234序号237序号876序号1290面试02.01面试02.02面试02.03面试02.06面试18序号21题目:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。解析:这是无头节点的1.双指针先按有头节点做,最后头节点向后移,也可叫做伪头节点/***Definitionforsingl
鲁仲连
·
2020-08-14 14:19
C/C++
leetcode-
二分查找-C
文章目录序号69序号278序号367序号374序号441序号704序号744序号852面试08.03面试10.05面试11面试53-I面试题53-II序号69题目:实现intsqrt(intx)函数。计算并返回x的平方根,其中x是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。解析:牛顿法二分法在大于2时,整数平方根一定小于x/2,每次判断mid*mid==xmid=left
鲁仲连
·
2020-08-14 14:19
C/C++
leetcode-
字符串-简单-C-第二部分
文章目录序号606序号657序号680序号686序号696序号709序号788序号804序号606题目:你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。空节点则用一对空括号“()”表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。解析:递归strcat不能连接NULL,所以另建函数完成连接当前值在本层完成连接括号在上层完成#defineMAX
鲁仲连
·
2020-08-14 14:19
C/C++
数据结构基础
— How Long Does It Take
08-图8HowLongDoesItTake(25分)Giventherelationsofalltheactivitiesofaproject,youaresupposedtofindtheearliestcompletiontimeoftheproject.InputSpecification:Eachinputfilecontainsonetestcase.Eachcasestartswit
酱油瓶被人注册了
·
2020-08-14 13:41
数据结构基础
数据结构例程——图的邻接矩阵存储结构及算法
本文是[
数据结构基础
系列(7):图]中第4课时[图的邻接矩阵存储结构及算法]的例程。
weixin_33743703
·
2020-08-14 08:34
数据结构与算法
数据结构基础
(一)
基本概念1.数据数据是能够输入到计算机内的对象。2.数据元素数据元素是数据的基本单位(也成元素,记录,结点等)。3.数据项数据项即组成元素的最小单位,如学生信息表内的学号、姓名等。4.数据对象数据对象是性质相同的数据元素的集合,是数据的一个子集,如整数数据对象是集合N={0,±1,±2,……},字母字符数据对象是集合C={‘A’,‘B’,‘C’,…,‘a’,‘b’,…}等。逻辑结构1.集合结构即数
ToptimisticX
·
2020-08-14 07:45
分割数组为连续子序列
LeetCode-
目录题目运行时间代码题目输入一个按升序排序的整数数组(可能包含重复数字),你需要将它们分割成几个子序列,其中每个子序列至少包含三个连续整数。返回你是否能做出这样的分割?示例1:输入:[1,2,3,3,4,5]输出:True解释:你可以分割出这样两个连续子序列:1,2,33,4,5示例2:输入:[1,2,3,3,4,4,5,5]输出:True解释:你可以分割出这样两个连续子序列:1,2,3,4,53
那些小花
·
2020-08-14 07:55
LeetCode
leetcode-
动态规划之最大子序列和
一:题目描述二:题目分析(重点)dp[i]记录以nums[i]为子序列末端的最大序子列连续和那么状态转移方程为:dp[i]=max{dp[i-1]+nums[i],nums[i]},时间复杂度为n注意不要与dp[i]=max{dp[i-1]+nums[i],dp[i-1]}相混乱.此方程求得的为可以为不连续的元素最大和,也就是简单的数组元素的最大和.请务必思考这一点.三:测试通过代码法一:动态规划
JAVA/C++
·
2020-08-14 06:02
ACM刷题
leetcode-
石子游戏III
题目是LeetCode第183场周赛的第四题,链接:石子游戏III。具体描述为:Alice和Bob用几堆石子在做游戏。几堆石子排成一行,每堆石子都对应一个得分,由数组stoneValue给出。Alice和Bob轮流取石子,Alice总是先开始。在每个玩家的回合中,该玩家可以拿走剩下石子中的的前1、2或3堆石子。比赛一直持续到所有石头都被拿走。每个玩家的最终得分为他所拿到的每堆石子的对应得分之和。
JR_Chan
·
2020-08-14 06:12
LeetCode
2018年 9月份 PAT 甲级随想
讲在前面基本情况:本人非科班出身,之前有些许的
数据结构基础
,上次乙级95,这次通过了8012年九月份的PAT甲级考试。
wsxyh1071652438
·
2020-08-13 23:15
PAT
leetcode-
数字的补数(java版)
文章目录题目思路代码题目给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。示例1:输入:5输出:2解释:5的二进制表示为101(没有前导零位),其补数为010。所以你需要输出2。示例2:输入:1输出:0解释:1的二进制表示为1(没有前导零位),其补数为0。所以你需要输出0。注意:给定的整数保证在32位带符号整数的范围内。你可以假定二进制数不包含前导零位。本题与1009https://le
lingle1
·
2020-08-13 22:55
leetcode刷题
上一页
24
25
26
27
28
29
30
31
下一页
按字母分类:
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
其他