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
力扣题目
代码随想录算法训练DAY4|链表2
算法训练DAY4|链表224.两两交换链表中的节点
力扣题目
链接给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
XIAOHAIYOU
·
2023-12-29 01:47
算法
链表
数据结构
代码随想录算法训练营DAY15|二叉树2
叉树的层序遍历515.在每个树行中找最大值116.填充每个节点的下一个右侧节点指针117.填充每个节点的下一个右侧节点指针II104.二叉树的最大深度111.二叉树的最小深度#102.二叉树的层序遍历
力扣题目
链
XIAOHAIYOU
·
2023-12-29 01:45
深度优先
算法
算法训练营Day26
#Java#全排列#回溯开源学习资料Feelingandexperiences:递增子序列:
力扣题目
链接给你一个整数数组nums,找出并返回所有该数组中不同的递增子序列,递增子序列中至少有两个元素。
momolinshaomo
·
2023-12-28 09:36
算法
算法训练营Day25
#Java#回溯开源学习资料Feelingandexperiences:复原IP地址:
力扣题目
链接有效IP地址正好由四个整数(每个整数位于0到255之间组成,且不能含有前导0),整数之间用'.'分隔。
momolinshaomo
·
2023-12-28 09:35
算法
windows
力扣题目
学习笔记(OC + Swift)22. 括号生成
22.括号生成数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。示例1:输入:n=3输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]示例2:输入:n=1输出:[“()”]回溯法此题较难理解,但通过回溯法可以很巧妙地解决。SwfitfuncgenerateParenthesis(_n:Int)->[String]{
Jarlen John
·
2023-12-27 22:01
数据结构与算法
leetcode
学习
笔记
力扣题目
学习笔记(OC + Swift)24. 两两交换链表中的节点
24.两两交换链表中的节点给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。方法一、递归首先定义递归终止条件:head.next不存,代表链表结束了head.next.next不存在,表示不能两两配对SwiftfuncswapPairs(_head:ListNode?)->ListNode?{//递归实现,抽象//终
Jarlen John
·
2023-12-27 22:01
数据结构与算法
leetcode
学习
笔记
力扣题目
学习笔记(OC + Swift)23. 合并 K 个升序链表
23.合并K个升序链表给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。方法一:顺序合并记得前面实现过的两个升序链表的合并,我们能否利用之前实现的两个有序链表的合并呢?当然可以,但是性价比不高而已。时间复杂度:假设每个链表长度为n,当i=0,ans长度为n,i=1时ans长度为2n,因此当i时ans长度为in,求和公式得到O(k+1)k/2n),约等
Jarlen John
·
2023-12-27 22:30
数据结构与算法
leetcode
学习
笔记
LeetCode 2660. 保龄球游戏的获胜者:模拟
【LetMeFly】2660.保龄球游戏的获胜者:模拟
力扣题目
链接:https://leetcode.cn/problems/determine-the-winner-of-a-bowling-game
Tisfy
·
2023-12-27 18:22
题解
#
力扣LeetCode
leetcode
游戏
题解
模拟
C++
力扣题目
150--逆波兰表达式求值
给你一个字符串数组tokens,表示一个根据逆波兰表示法表示的算术表达式。请你计算该表达式。返回一个表示表达式值的整数。注意:有效的算符为'+'、'-'、'*'和'/'。每个操作数(运算对象)都可以是一个整数或者另一个表达式。两个整数之间的除法总是向零截断。表达式中不含除零运算。输入是一个根据逆波兰表示法表示的算术表达式。答案及所有中间计算结果可以用32位整数表示。示例1:输入:tokens=["
学不会的天真boy
·
2023-12-26 20:43
leetcode
c++
算法
数据结构
C++
力扣题目
239--滑动窗口最大值
给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例1:输入:nums=[1,3,-1,-3,5,3,6,7],k=3输出:[3,3,5,5,6,7]解释:滑动窗口的位置最大值--------------------[13-1]-3536731[3-1-3]5367313[-
学不会的天真boy
·
2023-12-26 20:10
leetcode
c++
算法
数据结构
Leetcode:704. 二分查找
力扣题目
链接解题思路首先很容易想到暴力解法,通过简单的遍历数组,来找到目标值,但这样的时间复杂度为O(n).根据题目和提示,所给数组是①有序②无重复元素,满足二分查找的前提条件,因此本题可用二分查找来做
weixin_51160138
·
2023-12-26 02:25
leetcode
算法
Leetcode:27. 移除元素
力扣题目
链接解题思路首先很容易想到暴力解法,用两个for循环,第一个for循环用来遍历整个数组,第二个for循环用来更新数组.但这种解法的时间复杂度为O(n^2)因此考虑双指针思想,通过一个快指针和慢指针在一个
weixin_51160138
·
2023-12-26 02:25
leetcode
算法
数据结构
977.有序数组的平方
力扣题目
链接首先很容易想到暴力解法,即把数组平方后再进行排序.时间复杂度主要看用什么排序算法.由于题目中说明数组是非递减的,要把这个条件利用起来.当我们把一个非递减数组平方后,其最大值要么在最左边,要么在最右边
weixin_51160138
·
2023-12-26 02:25
算法
leetcode
数据结构
209. 长度最小的子数组
力扣题目
链接解题思路首先很容易想到暴力解放,用两层for循环,不断寻找符合条件的子序列,时间复杂度为O(N^2),超时本题可以用数组中一个重要的方法:滑动窗口所谓滑动窗口,就是不断调节子序列的起始和终止位置
weixin_51160138
·
2023-12-26 02:18
算法
数据结构
算法训练营Day24
#Java#回溯开源学习资料Feelingandexperiences:组合总和:
力扣题目
链接给你一个无重复元素的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数
momolinshaomo
·
2023-12-26 01:21
算法
基于Boosting的
力扣题目
建模分析
基于Boosting的
力扣题目
建模分析1背景介绍2数据说明3描述性分析3.1分类问题描述性分析3.2回归问题描述性分析4建模分析4.1Boosting概述4.2AdaBoost算法4.2.1算法概述4.2.2
twinkle 222
·
2023-12-25 15:08
boosting
leetcode
集成学习
r语言
C++
力扣题目
1047--删除字符串中的所有相邻重复项
给出由小写字母组成的字符串S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在S上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。示例:输入:"abbaca"输出:"ca"解释:例如,在"abbaca"中,我们可以删除"bb"由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串"aaca",其中又只有"aa"可以
学不会的天真boy
·
2023-12-25 13:11
c++
leetcode
算法
数据结构
C++
力扣题目
20--有效的括号
给定一个只包括'(',')','{','}','[',']'的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。示例1:输入:s="()"输出:true示例2:输入:s="()[]{}"输出:true示例3:输入:s="(]"输出:falses思路:由于栈结构的特殊性,非常适合做对称匹配类的题目。
学不会的天真boy
·
2023-12-25 13:08
c++
开发语言
算法
数据结构
力扣题目
学习笔记(OC + Swift)21. 合并两个有序链表
21.合并两个有序链表将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。链表解题经典三把斧:哑巴节点栈快慢指针此题比较容易想到的解法是迭代法,生成哑巴节点,然后迭代生成后续节点。方法一、迭代法SwiftfuncmergeTwoLists(_list1:ListNode?,_list2:ListNode?)->ListNode?{guardlist1!=ni
Jarlen John
·
2023-12-25 12:36
数据结构与算法
leetcode
学习
笔记
C++
力扣题目
225--用队列实现栈
请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop和empty)。实现MyStack类:voidpush(intx)将元素x压入栈顶。intpop()移除并返回栈顶元素。inttop()返回栈顶元素。booleanempty()如果栈是空的,返回true;否则,返回false。注意:你只能使用队列的基本操作——也就是pushtoback、pee
学不会的天真boy
·
2023-12-25 07:22
c++
leetcode
算法
C++
力扣题目
541--反转字符串II
给定一个字符串s和一个整数k,从字符串开头算起,每计数至2k个字符,就反转这2k字符中的前k个字符。如果剩余字符少于k个,则将剩余字符全部反转。如果剩余字符小于2k但大于或等于k个,则反转前k个字符,其余字符保持原样。示例1:输入:s="abcdefg",k=2输出:"bacdfeg"示例2:输入:s="abcd",k=2输出:"bacd"思路:这道题目其实也是模拟,实现题目中规定的反转规则就可以
学不会的天真boy
·
2023-12-25 07:52
c++
leetcode
java
C++
力扣题目
151--反转字符串中单词
给你一个字符串s,请你反转字符串中单词的顺序。单词是由非空格字符组成的字符串。s中使用至少一个空格将字符串中的单词分隔开。返回单词顺序颠倒且单词之间用单个空格连接的结果字符串。注意:输入字符串s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。示例1:输入:s="theskyisblue"输出:"blueisskythe"示
学不会的天真boy
·
2023-12-25 07:52
c++
leetcode
算法
数据结构
C++
力扣题目
28--找出字符串中第一个匹配项的下标
给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从0开始)。如果needle不是haystack的一部分,则返回-1。示例1:输入:haystack="sadbutsad",needle="sad"输出:0解释:"sad"在下标0和6处匹配。第一个匹配项的下标是0,所以返回0。示例2:输入:haystack="leetco
学不会的天真boy
·
2023-12-25 07:52
c++
leetcode
算法
数据结构
C++
力扣题目
27--移除元素
给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。思路:双指针法(快慢指针法):通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。定义快慢指针快指针:寻找新数组的元素,新数组就是不含有目标元素的数组慢
学不会的天真boy
·
2023-12-25 07:22
leetcode
c++
算法
C++
力扣题目
232--用栈实现队列
请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现MyQueue类:voidpush(intx)将元素x推到队列的末尾intpop()从队列的开头移除并返回元素intpeek()返回队列开头的元素booleanempty()如果队列为空,返回true;否则,返回false说明:你只能使用标准的栈操作——也就是只有pushtotop,
学不会的天真boy
·
2023-12-25 07:48
c++
leetcode
算法
数据结构
算法学习——双指针法
双指针法移除元素反转字符串替换数字翻转字符串里的单词翻转链表删除链表的倒数第N个节点链表相交环形链表II三数之和四数之和总结数组篇字符串篇链表篇N数之和篇移除元素
力扣题目
链接此题做法在数组章节中。
Xf3n1an
·
2023-12-25 04:54
代码随想录算法学习
算法
学习
7.12.1 线段树原理及应用(上)
如果要参加竞赛或者其他对数据结构要求比较高的情形,可以仔细研究一番,本文借其他博客和几道
力扣题目
介绍一下线段树。第一篇文章我们先从以下两个问题展开:1.线段树是什么?是什么样的结构?
xutiantian1412
·
2023-12-25 04:06
python学习
python数据结构与算法
线段树
数据结构
区间查询
C++
力扣题目
459--重复的字符串
给定一个非空的字符串s,检查是否可以通过由它的一个子串重复多次构成。示例1:输入:s="abab"输出:true解释:可由子串"ab"重复两次构成。示例2:输入:s="aba"输出:false示例3:输入:s="abcabcabcabc"输出:true解释:可由子串"abc"重复四次构成。(或子串"abcabc"重复两次构成。)思路:移动匹配当一个字符串s:abcabc,内部由重复的子串组成,那么
学不会的天真boy
·
2023-12-24 06:58
c++
leetcode
算法
数据结构
算法训练营Day20
#Java#二叉树开源学习资料Feelingandexperiences:二叉搜索树的最近公共祖先:
力扣题目
链接给定一个二叉搜索树,找到该树中两个指定节点的最近公共祖先。
momolinshaomo
·
2023-12-24 06:47
算法
算法训练营Day23
#Java#回溯#组合问题开源学习资料Feelingandexperiences:组合总和III:
力扣题目
链接找出所有相加之和为n的k个数的组合,且满足下列条件:只使用数字1到9每个数字最多使用一次返回所有可能的有效组合的列表
momolinshaomo
·
2023-12-24 06:46
算法
力扣题目
学习笔记(OC + Swift)20. 有效的括号
20.有效的括号给定一个只包括‘(’,‘)’,‘{’,‘}’,‘[’,‘]’的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。方法一栈+hash表配对的问题首先想到的是用栈来解决,但是如何巧妙的使用hash表刚开始没想到,用的是if判断。由于要配对,考虑以下几种情况:1.数据自身不成对,奇数个时
Jarlen John
·
2023-12-23 20:21
数据结构与算法
leetcode
学习
笔记
力扣题目
学习笔记(OC + Swift)18. 四数之和
18.四数之和给你一个由n个整数组成的数组nums,和一个目标值target。请你找出并返回满足下述全部条件且不重复的四元组[nums[a],nums[b],nums[c],nums[d]](若两个四元组元素一一对应,则认为两个四元组重复):0[[Int]]{guardnums.count>3else{return[]}letnums=nums.sorted()letcnt=nums.countv
Jarlen John
·
2023-12-23 20:51
数据结构与算法
leetcode
学习
笔记
力扣题目
学习笔记(OC + Swift)19. 删除链表的倒数第 N 个结点
19.删除链表的倒数第N个结点给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。此题目为链表题,拿出我们的杀手锏,链表解题经典三把斧:哑巴节点栈快慢指针关于内存问题:由于Swift及OC均有ARC内存机制,因此删除的节点内容未主动释放,如在手动内存管理的情况下,需要释放被删除节点的内存占用。方法一、计算链表长度先求出链表长度L,再将链表从头移动到L-n+1的位置,删除其下一个节点。时间
Jarlen John
·
2023-12-23 20:51
数据结构与算法
leetcode
学习
笔记
力扣题目
学习笔记(OC + Swift)16. 最接近的三数之和
16.最接近的三数之和给你一个长度为n的整数数组nums和一个目标值target。请你从nums中选出三个整数,使它们的和与target最接近。返回这三个数的和。假定每组输入只存在恰好一个解。排序+双指针思路同15.三数之和简单地使用三重循环枚举所有的三元组时间复杂度为O(n^3),时间及空间复杂度均不满足我们使用的需求。若我们枚举的三元组(a,b,c)满足a≤b≤c,保证了只有(a,b,c)这个
Jarlen John
·
2023-12-23 20:50
数据结构与算法
leetcode
学习
笔记
代码随想录算法训练营第二十四天 | 回溯算法
目录
力扣题目
回溯理论基础
力扣题目
记录77.组合剪枝总结
力扣题目
77.组合回溯理论基础暴力解法和递归一起用类似for循环基本模板:voidbacktracking(参数){if(终止条件){存放结果;return
Fight___
·
2023-12-23 00:35
算法
二分边界问题(找到第一个大于等于该元素的下标...)的总结
35.搜索插入位置
力扣题目
链接(opensnewwindow)给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
努力成为大牛的每一天
·
2023-12-22 18:53
算法
数据结构
力扣题目
学习笔记(OC + Swift)17. 电话号码的字母组合
17.电话号码的字母组合给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按任意顺序返回。给出数字到字母的映射如下(与电话按键相同)。注意1不对应任何字母。关键字:所有组合模式识别:搜索算法解题思路:自顶向下的递归实现深度搜索定义子问题在当前递归层结合子问题解决原问题SwiftfuncletterCombinations(_digits:String)->[String]{gu
Jarlen John
·
2023-12-22 16:28
数据结构与算法
leetcode
学习
笔记
算法训练营Day21
#Java#二叉树开源学习资料Feelingandexperiences:修剪二叉搜索树:
力扣题目
链接给你二叉搜索树的根节点root,同时给定最小边界low和最大边界high。
momolinshaomo
·
2023-12-22 11:17
算法
代码随想录算法训练营第二十一天 | 二叉树众数、公共祖先
目录
力扣题目
力扣题目
记录530.二叉搜索树的最小绝对差501.二叉搜索树中的众数普通二叉树搜索二叉树236.二叉树的最近公共祖先总结总结
力扣题目
用时:2h1、530.二叉搜索树的最小绝对差2、501.二叉搜索树中的众数
Fight___
·
2023-12-22 08:02
算法
代码随想录算法训练营第二十二天 | 搜索树添加、删除元素
目录
力扣题目
力扣题目
记录235.二叉搜索树的最近公共祖先总结701.二叉搜索树中的插入操作总结450.删除二叉搜索树中的节点普通二叉树的删除方式总结总结
力扣题目
用时:2h1、235.二叉搜索树的最近公共祖先
Fight___
·
2023-12-22 08:01
算法
数据结构
代码随想录算法训练营第二十天 | 二叉搜索树
目录
力扣题目
力扣题目
记录654.最大二叉树617.合并二叉树用值用指针700.二叉搜索树中的搜索递归迭代98.验证二叉搜索树总结
力扣题目
用时:2h1、654.最大二叉树2、617.合并二叉树3、700.
Fight___
·
2023-12-22 08:01
算法
代码随想录算法训练营第十六天 | 二叉树的深度、节点个数
目录
力扣题目
力扣题目
记录104.二叉树的最大深度111.二叉树的最小深度222.完全二叉树的节点个数普通二叉树完全二叉树总结
力扣题目
用时:1.5h1、104.二叉树的最大深度2、111.二叉树的最小深度
Fight___
·
2023-12-22 08:31
算法
数据结构
代码随想录算法训练营第三天 | 双指针、滑动窗口
目录
力扣题目
链表理论基础链表的定义性能分析
力扣题目
记录203.移除链表元素707.设计链表206.反转链表双指针法(常规)递归法(需要二刷)双指针法(从后向前)(需要二刷)使用虚拟头结点解决链表反转(需要二刷
Fight___
·
2023-12-22 08:01
算法
代码随想录算法训练营第五天 | 哈希表基础
目录
力扣题目
哈希表理论基础哈希表哈希函数哈希碰撞拉链法线性探测法常见的三种哈希结构总结
力扣题目
记录242.有效的字母异位词349.两个数组的交集拓展后记202.快乐数1.两数之和总结
力扣题目
用时:1.5h1
Fight___
·
2023-12-22 08:01
算法
散列表
数据结构
代码随想录算法训练营第六天 | 哈希表、双指针plus
目录
力扣题目
力扣题目
记录454.四数相加II383.赎金信暴力解法哈希解法15.三数之和(需要二刷)哈希解法双指针去重逻辑的思考a的去重b与c的去重18.四数之和(需要二刷)总结
力扣题目
用时:1.5h1
Fight___
·
2023-12-22 08:01
算法
散列表
数据结构
代码随想录算法训练营第二十三天 | 修建二叉搜索树
目录
力扣题目
力扣题目
记录669.修剪二叉搜索树108.将有序数组转换为二叉搜索树538.把二叉搜索树转换为累加树总结
力扣题目
用时:1.5h1、669.修剪二叉搜索树2、108.将有序数组转换为二叉搜索树
Fight___
·
2023-12-22 08:28
算法
数据结构
代码随想录算法训练营Day08 | 344.反转字符串 541. 反转字符串II 剑指Offer 05.替换空格 151.翻转字符串里的单词 剑指Offer58-II.左旋转字符串
344.反转字符串题目链接/文章讲解/视频讲解:代码随想录
力扣题目
链接(opensnewwindow)给定一个字符串s和一个整数k,从字符串开头算起,每计数至2k个字符,就反转这2k个字符中的前k个字符
青柠v.
·
2023-12-22 06:50
代码随想录
算法
leetcode
代码随想录算法训练营Day 8 | 344.反转字符串541. 反转字符串II剑指Offer 05.替换空格151.翻转字符串里的单词剑指Offer58-II.左旋转字符串
344.反转字符串
力扣题目
链接编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组char[]的形式给出。
在下小zhan
·
2023-12-22 06:18
leetcode
leetcode
Leetcode的AC指南 —— 链表:142.环形链表II
文章目录一、题目二、解析1、快慢指针法2、一个破坏链表的解法3、一个超时的题解一、题目
力扣题目
链接题目介绍:给定一个链表的头节点head,返回链表开始入环的第一个节点。如果链表无环,则返回null。
知之_知之
·
2023-12-22 02:00
leetcode的AC指南
leetcode
链表
算法
LeetCode 1901. 寻找峰值 II:二分查找
【LetMeFly】1901.寻找峰值II:二分查找
力扣题目
链接:https://leetcode.cn/problems/find-a-peak-element-ii/一个2D网格中的峰值是指那些严格大于其相邻格子
Tisfy
·
2023-12-20 17:59
题解
#
力扣LeetCode
leetcode
linux
题解
二分查找
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
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
其他