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 | 链表 | LC24. 两两交换链表中的节点、LC19. 删除链表的倒数第 N 个结点、LC面试题 02.07. 链表相交、LC142. 环形链表 II
代码随想录
算法训练
营Day4|链表|LC24.两两交换链表中的节点、LC19.删除链表的倒数第N个结点、LC面试题02.07.链表相交、LC142.环形链表II因为tw面试后有点摆烂,然后又觉得这几题都是之前做过的就耽搁了一天没打卡
快叫我去刷LeetCode
·
2023-12-22 19:01
leetcode
代码随想录
算法训练
营第四天| LC24. 两两交换链表中的节点、LC19. 删除链表的倒数第N个节点、LC160. 相交链表、LC142. 环形链表II、链表章节总结
LeetCode24两两交换链表中的节点题目链接:24.两两交换链表中的节点做题情况:当时做的时候不知道突然就想到了双指针(可能最近做双指针的题目多自然就往那方面想了),实际上本题目没必要用双指针啊,只要一个指针去遍历就行了,下面是自己用两个指针去做的,虽然最后ac出了,但是代码很冗余和最初写的时候思路有点混乱,一个指针可以做的事情偏偏自己用了两个,当时具体ac代码如下:/***Definitio
溪岚CW
·
2023-12-22 19:01
代码随想录算法训练营
算法
leetcode
数据结构
算法训练
营day4 LC24. 两两交换链表中的节点 19.删除链表的倒数第N个节点 面试题 02.07. 链表相交 142.环形链表II
LC24.两两交换链表中的节点classSolution(object):defswapPairs(self,head):""":typehead:ListNode:rtype:ListNode"""dummy=ListNode(0)first=headdummy.next=firstifnotfirst:returnfirstelifnotfirst.next:print(first)retur
冬瓜香菜
·
2023-12-22 19:59
链表
算法
数据结构
代码随想录
算法训练
营第57天| 647. 回文子串 516.最长回文子序列
JAVA代码编写647.回文子串给你一个字符串s,请你统计并返回这个字符串中回文子串的数目。回文字符串是正着读和倒过来读一样的字符串。子字符串是字符串中的由连续字符组成的一个序列。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示例1:输入:s="abc"输出:3解释:三个回文子串:"a","b","c"示例2:输入:s="aaa"输出:6解释:6个回文子串:"a"
Catherinemin
·
2023-12-22 17:47
代码随想录
leetcode
算法
算法
代码随想录
算法训练
营第56天| 583. 两个字符串的删除操作 72. 编辑距离
JAVA代码编写583.两个字符串的删除操作给定两个单词word1和word2,返回使得word1和word2相同所需的最小步数。每步可以删除任意一个字符串中的一个字符。示例1:输入:word1="sea",word2="eat"输出:2解释:第一步将"sea"变为"ea",第二步将"eat"变为"ea"示例2:输入:word1="leetcode",word2="etco"输出:4提示:1ror
Catherinemin
·
2023-12-22 17:17
代码随想录
leetcode
算法
算法
代码随想录
算法训练
营第58天| 739. 每日温度 496.下一个更大元素 I
JAVA代码编写739.每日温度给定一个整数数组temperatures,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替。示例1:输入:temperatures=[73,74,75,71,69,72,76,73]输出:[1,1,4,2,1,1,0,0]示例2:输入:temperatures
Catherinemin
·
2023-12-22 17:17
leetcode
代码随想录
算法
算法
代码随想录
算法训练
营第59天| 503.下一个更大元素II 42. 接雨水
java代码编写503.下一个更大元素II给定一个循环数组nums(nums[nums.length-1]的下一个元素是nums[0]),返回nums中每个元素的下一个更大元素。数字x的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出-1。示例1:输入:nums=[1,2,1]输出:[2,-1,2]解释:第一个1的下
Catherinemin
·
2023-12-22 17:14
leetcode
代码随想录
算法
算法
leetcode
代码随想录
算法训练
营第五十九天|503下一个更大元素Ⅱ\43.接雨水
503.下一个更大元素Ⅱ主要是使用一个取模操作,模拟将数组遍历两边,然后使用单调栈进行寻找usingnamespacestd;classSolution{public:vectornextGreaterElements(vector&nums){vectorres(nums.size(),-1);if(nums.size()==0)returnres;stackstk;for(inti=0;inu
ogier_maxwell
·
2023-12-22 16:22
代码随想录算法训练营
算法
代码随想录
算法训练
营第六天| 242.有效的字母异位词、 349. 两个数组的交集、202. 快乐数、 1. 两数之和
242.有效的字母异位词我的版本想到直接使用哈希表记录字幕出现的数量classSolution{public:boolisAnagram(strings,stringt){unordered_mapmap;for(autoc:s)map[c]++;for(autoc:t){map[c]--;}for(autoelement:map){if(element.second!=0)returnfalse
ogier_maxwell
·
2023-12-22 16:51
代码随想录算法训练营
算法
数据结构
leetcode
c++
代码随想录
算法训练
营第五十七天|647.回文子串\516.最长回文子序列
确定dp数组(dptable)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组647.回文子串确定dp数组(dptable)以及下标的含义dp[i][j]:表示区间范围[i,j](注意是左闭右闭)的子串是否是回文子串,如果是dp[i][j]为true,否则为false。确定递推公式整体上是两种,就是s[i]与s[j]相等,s[i]与s[j]不相等这两种。s[i]与s[j]不
ogier_maxwell
·
2023-12-22 16:51
代码随想录算法训练营
算法
数据结构
动态规划
代码随想录
算法训练
营第五十八天|739.每日温度、496.下一个更大元素I
739.每日温度使用一个单调栈,始终维持栈内的元素,为一个递增或者递减的单调状态栈中没有存放实际的数组元素,而是数组下标classSolution{public:vectordailyTemperatures(vector&T){//递增栈stackst;vectorresult(T.size(),0);st.push(0);for(inti=1;iT[st.top()]){result[st.t
ogier_maxwell
·
2023-12-22 16:51
代码随想录算法训练营
算法
代码随想录
算法训练
营第四天| 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142.环形链表II
感觉链表中主要的就是灵活使用指针,能想起来的指针:快慢指针前后指针相邻指针等间隔指针24.两两交换链表中的节点自己的版本需要注意的事项:使用dummyhead,方便进行操作使用两个相邻的指针cur和next,这样方便两两交换我认为最关键的:防止next指针访问越界,每次循环完之后移动指针时,只移动cur每次判断cur和cur->next,判断是否为nullptr,这样最后剩下的单个节点不会交换每次
ogier_maxwell
·
2023-12-22 16:21
代码随想录算法训练营
算法
链表
leetcode
数据结构
代码随想录
算法训练
营第三天| 203.移除链表元素、707.设计链表、 206.反转链表
203.移除链表元素自己版本需要注意的地方:可以使用哨兵节点,方便操作使用两个指针,同时向后移动,这样便于删除操作classSolution{public:ListNode*removeElements(ListNode*head,intval){ListNode*ahead=newListNode(-1,head);ListNode*pl=ahead;ListNode*pr=head;while
ogier_maxwell
·
2023-12-22 16:20
代码随想录算法训练营
算法
链表
数据结构
leetcode
代码随想录
算法训练
营第一天| 704. 二分查找、27. 移除元素
代码随想录
算法训练
营第一天|704.二分查找、27.移除元素704.二分查找代码随想录文档二分查找的使用前提是有序数组并无重复数字在写二分查找时,关键是搞明白具体区间的左右开闭自己首先写一版出来首先自己想到的就是递归
ogier_maxwell
·
2023-12-22 16:20
代码随想录算法训练营
算法
leetcode
数据结构
代码随想录
算法训练
营第二天| 977.有序数组的平方、209. 长度最小的子数组、59.螺旋矩阵Ⅱ
代码随想录
算法训练
营第二天|977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵Ⅱ977.有序数组的平方代码随想录解法代码随想录解法和我想得差不多:但是这里使用了一个for循环,更加简洁classSolution
ogier_maxwell
·
2023-12-22 16:20
代码随想录算法训练营
算法
矩阵
leetcode
代码随想录
算法训练
营第五十六天|583.两个字符串的删除操作\72.编辑距离
确定dp数组(dptable)以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组583.两个字符串的删除操作确定dp数组(dptable)以及下标的含义dp[i][j]:以i-1为结尾的字符串word1,和以j-1位结尾的字符串word2,想要达到相等,所需要删除元素的最少次数。确定递推公式当word1[i-1]与word2[j-1]相同的时候dp[i][j]=dp[i-1]
ogier_maxwell
·
2023-12-22 16:19
代码随想录算法训练营
算法
数据结构
动态规划
代码随想录
算法训练
营第16天 | 104.二叉树的最大深度、559.n叉树的最大深度、111.二叉树的最小深度、222.完全二叉树的节点个数
二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数或者节点数。深度从1开始,则根节点的深度为1。使用前序遍历,从上往下求深度。二叉树节点的高度:指从该节点到叶子节点的最长简单路径边的条数或者节点数。高度从1开始,则叶子节点的高度为1。使用后序遍历,从下往上求高度。104.二叉树的最大深度题目链接:二叉树的最大深度解法:根节点的高度就是二叉树的最大深度,所以本题中我们通过后序求的根节点高度来
Jack199274
·
2023-12-22 15:49
数据结构和算法
算法
数据结构
算法训练
营Day21
#Java#二叉树开源学习资料Feelingandexperiences:修剪二叉搜索树:力扣题目链接给你二叉搜索树的根节点root,同时给定最小边界low和最大边界high。通过修剪二叉搜索树,使得所有节点的值在[low,high]中。修剪树不应该改变保留在树中的元素的相对结构(即,如果没有被移除,原有的父代子代关系都应当保留)。可以证明,存在唯一的答案。所以结果应当返回修剪好的二叉搜索树的新的
momolinshaomo
·
2023-12-22 11:17
算法
代码随想录
算法训练
营第二十一天 | 二叉树众数、公共祖先
目录力扣题目力扣题目记录530.二叉搜索树的最小绝对差501.二叉搜索树中的众数普通二叉树搜索二叉树236.二叉树的最近公共祖先总结总结力扣题目用时:2h1、530.二叉搜索树的最小绝对差2、501.二叉搜索树中的众数3、236.二叉树的最近公共祖先力扣题目记录530.二叉搜索树的最小绝对差第一种做法,将搜索树变为有序数组,然后两两做差比较classSolution{private:vectorv
Fight___
·
2023-12-22 08:02
算法
代码随想录
算法训练
营第二十二天 | 搜索树添加、删除元素
目录力扣题目力扣题目记录235.二叉搜索树的最近公共祖先总结701.二叉搜索树中的插入操作总结450.删除二叉搜索树中的节点普通二叉树的删除方式总结总结力扣题目用时:2h1、235.二叉搜索树的最近公共祖先2、701.二叉搜索树中的插入操作3、450.删除二叉搜索树中的节点力扣题目记录235.二叉搜索树的最近公共祖先首先要利用好搜索树的性质,可以利用中序遍历从两边分别查找。所以对于[p,q]可以判
Fight___
·
2023-12-22 08:01
算法
数据结构
代码随想录
算法训练
营第二十天 | 二叉搜索树
目录力扣题目力扣题目记录654.最大二叉树617.合并二叉树用值用指针700.二叉搜索树中的搜索递归迭代98.验证二叉搜索树总结力扣题目用时:2h1、654.最大二叉树2、617.合并二叉树3、700.二叉搜索树中的搜索4、98.验证二叉搜索树力扣题目记录654.最大二叉树这个题和昨天的中后序构造二叉树很像,就是遍历找到最大值,然后分割区间,递归classSolution{private://在左
Fight___
·
2023-12-22 08:01
算法
代码随想录
算法训练
营第十六天 | 二叉树的深度、节点个数
目录力扣题目力扣题目记录104.二叉树的最大深度111.二叉树的最小深度222.完全二叉树的节点个数普通二叉树完全二叉树总结力扣题目用时:1.5h1、104.二叉树的最大深度2、111.二叉树的最小深度3、222.完全二叉树的节点个数力扣题目记录104.二叉树的最大深度本题可以使用前序(中左右),也可以使用后序遍历(左右中),使用前序求的就是深度,使用后序求的是高度。二叉树节点的深度:指从根节点到
Fight___
·
2023-12-22 08:31
算法
数据结构
代码随想录
算法训练
营第三天 | 双指针、滑动窗口
目录力扣题目链表理论基础链表的定义性能分析力扣题目记录203.移除链表元素707.设计链表206.反转链表双指针法(常规)递归法(需要二刷)双指针法(从后向前)(需要二刷)使用虚拟头结点解决链表反转(需要二刷)使用栈解决反转链表的问题(需要二刷)总结力扣题目用时:2.5h1、203.移除链表元素2、707.设计链表3、206.反转链表(重点,方法很多)链表理论基础链表的定义//单链表structL
Fight___
·
2023-12-22 08:01
算法
代码随想录
算法训练
营第五天 | 哈希表基础
目录力扣题目哈希表理论基础哈希表哈希函数哈希碰撞拉链法线性探测法常见的三种哈希结构总结力扣题目记录242.有效的字母异位词349.两个数组的交集拓展后记202.快乐数1.两数之和总结力扣题目用时:1.5h1、242.有效的字母异位词2、349.两个数组的交集3、202.快乐数4、1.两数之和哈希表理论基础哈希表首先什么是哈希表,哈希表(英文名字为Hashtable,国内也有一些算法书籍翻译为散列表
Fight___
·
2023-12-22 08:01
算法
散列表
数据结构
代码随想录
算法训练
营第六天 | 哈希表、双指针plus
目录力扣题目力扣题目记录454.四数相加II383.赎金信暴力解法哈希解法15.三数之和(需要二刷)哈希解法双指针去重逻辑的思考a的去重b与c的去重18.四数之和(需要二刷)总结力扣题目用时:1.5h1、454.四数相加II2、383.赎金信3、15.三数之和4、18.四数之和力扣题目记录454.四数相加II哈希表可以存储数据,之后在另一组数据遍历时可以查找哈希表看是否有组合满足条件。但是本题有4
Fight___
·
2023-12-22 08:01
算法
散列表
数据结构
代码随想录
算法训练
营第二十三天 | 修建二叉搜索树
目录力扣题目力扣题目记录669.修剪二叉搜索树108.将有序数组转换为二叉搜索树538.把二叉搜索树转换为累加树总结力扣题目用时:1.5h1、669.修剪二叉搜索树2、108.将有序数组转换为二叉搜索树3、538.把二叉搜索树转换为累加树力扣题目记录669.修剪二叉搜索树这个题比添加元素和删除元素复杂很多,虽说如此,但还是可以画图模拟一下,如果一个父节点在区间左侧,那么它的左子树全部都不行,右子树
Fight___
·
2023-12-22 08:28
算法
数据结构
代码随想录
算法训练
营Day08:344.反转字符串,541.反转字符串||,剑指Offer 05.替换空格,151.翻转字符串里的单词,剑指Offer58-||.左旋转字符串
344.反转字符串文章链接:代码随想录(programmercarl.com)思路:比较简单,两两交换节点。Java代码:classSolution{publicvoidreverseString(char[]s){//先判断特殊情况if(s==null||s.length==0){return;}intleft=0;intright=s.length-1;chartemp;while(left<
爱吃甜食的靓仔
·
2023-12-22 06:53
面试
职场和发展
代码随想录
算法训练
营day8|344.反转字符串,541. 反转字符串II,剑指Offer05.替换空格,151.翻转字符串里的单词,剑指Offer58-II.左旋转字符串
344.反转字符串力扣思路:1.遍历交换2.利用双指针(l,r)要注意的代码细节:1.位运算法用于交换classSolution{publicvoidreverseString(char[]s){intl=0;intr=s.length-1;while(l=0){if(ch[l]==''){ch[r--]='0';ch[r--]='2';ch[r--]='%';l--;}else{ch[r--]=
扭一扭.
·
2023-12-22 06:52
leetcode
数据结构
代码随想录
算法训练
营day08| 344.反转字符串、541. 反转字符串II、剑指Offer 05.替换空格、151.翻转字符串里的单词、剑指Offer58-II.左旋转字符串
Leetcode344.反转字符串题目链接思路:利用两个指针交换前后对元素,这里有一个异或对方法,也比较简单,下面直接看代码。代码:classSolution{publicvoidreverseString(char[]s){////方法一//intleft=0;//intright=s.length-1;//while(left=0){//从后往前填充if(chars[left]==''){ch
Lixygg
·
2023-12-22 06:22
代码随想录算法训练营
算法
leetcode
数据结构
java
代码随想录
算法训练
营刷题Day08|344.反转字符串、541. 反转字符串II、剑指Offer 05.替换空格、151.翻转字符串里的单词、剑指Offer58-II.左旋转字符串
目录string基本用法1.1string类常见构造1.2string类常用功能1.3读写string操作1.4cctype头文件(判断字符类型:大/小写字母、标点、数字等)1.5for循环遍历344.反转字符串541.反转字符串II剑指Offer05.替换空格151.翻转字符串里的单词剑指Offer58-II.左旋转字符串string基本用法1.1string类常见构造1、strings1;2、
vv_f
·
2023-12-22 06:21
代码随想录算法训练营
算法
代码随想录
算法训练
营Day08 | 344.反转字符串 541. 反转字符串II 剑指Offer 05.替换空格 151.翻转字符串里的单词 剑指Offer58-II.左旋转字符串
344.反转字符串题目链接/文章讲解/视频讲解:代码随想录力扣题目链接(opensnewwindow)给定一个字符串s和一个整数k,从字符串开头算起,每计数至2k个字符,就反转这2k个字符中的前k个字符。如果剩余字符少于k个,则将剩余字符全部反转。如果剩余字符小于2k但大于或等于k个,则反转前k个字符,其余字符保持原样。示例:输入:s="abcdefg",k=2输出:"bacdfeg"classS
青柠v.
·
2023-12-22 06:50
代码随想录
算法
leetcode
代码随想录
算法训练
营day8 | 344反转字符 | 541反转字符II | 05替换空格 | 151反转字符串里的单词 | 58左旋转字符
一、344反转字符卡哥视频里一说到有的语言直接赋值就能实现反转操作,我就猜到在点Python的名了哈哈哈,果然Py连库函数都不用调用就可以实现,好强。二、541反转字符II当有固定规律需要一段一段处理字符串时,我们考虑在for循环的时候更改步长为每段固定的长度这种写法相当于是先确定一个点p,从0开始计数,与它间隔为k距离的点记为p2,s是反转操作,其中s[:p]是保留从头到点p的值,s[p:p2]
冀熔弘
·
2023-12-22 06:49
代码随想录打卡
算法
代码随想录
算法训练
营DAY7|344.反转字符串,541. 反转字符串II,剑指Offer 05.替换空格,151.翻转字符串里的单词,剑指Offer58-II.左旋转字符串
344.反转字符串题目链接:https://leetcode.cn/problems/reverse-string/解题方法classSolution{public:voidreverseString(vector&s){for(inti=0,j=s.size()-1;i
追风筝的小蜗牛
·
2023-12-22 06:49
代码随想录算法训练营第九期
leetcode
代码随想录
算法训练
营Day8|344.反转字符串、541. 反转字符串II、替换数字、151.翻转字符串里的单词、右旋字符串
目录344.反转字符串前言:方法一:调用库函数方法二:自己构造第一种:一个变量实现第二种:两个变量实现541.反转字符串II前言:方法一:双指针法方法二:单指针实现替换数字前言:算法实现:算法分析:151.翻转字符串里的单词前言:思路分析:算法实现:算法分析:右旋字符串前言:算法实现:手搓reverse函数版调用库函数版算法对比:总结344.反转字符串题目链接文章链接前言:本题要反转一个字符串,可
张金卓2023
·
2023-12-22 06:19
算法
leetcode
职场和发展
代码随想录
算法训练
营Day 8 | 344.反转字符串541. 反转字符串II剑指Offer 05.替换空格151.翻转字符串里的单词剑指Offer58-II.左旋转字符串
344.反转字符串力扣题目链接编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组char[]的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用O(1)的额外空间解决这一问题。你可以假设数组中的所有字符都是ASCII码表中的可打印字符。示例1:输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]示例2:输入:["H",
在下小zhan
·
2023-12-22 06:18
leetcode
leetcode
代码随想录
算法训练
营DAY 8 | 344.反转字符串 541. 反转字符串II 剑指Offer 05.替换空格 151.翻转字符串里的单词 剑指Offer58-II.左旋转字符串
344.反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用O(1)的额外空间解决这一问题。解题:思路比较简单,双指针左右同时移动,用数组转换的方式交换值/***@param{character[]}s*@return{void}Donotreturnanything,modifysin-placei
lex_bb
·
2023-12-22 06:48
算法
数据结构
代码随想录
算法训练
营Day4 | 24.两两交换链表中的节点、19.删除链表的倒数第 N 个节点、面试题. 链表相交、142.环形链表II
LeetCode24两两交换链表中的节点本题要注意的条件:遍历终止条件改变引用指向的时候,需要保存一些节点记录为了更好的操作链表,我定义了一个虚拟的头节点dummyHead指向链表。如下图所示既然要交换链表中的节点,那么肯定需要有遍历的指针cur,还有保存节点前驱或者后继的节点tmp。下面通过以下几个图来讲述代码的一个整体思路后续就是重复以上步骤,那么还有没解决的问题就是,这个循环的终止条件是什么
一个想打拳的程序员
·
2023-12-22 06:17
代码随想录
算法
链表
代码随想录
算法训练
营Day5 | 242.有效的字母异位词、349.两个数组的交集、202.快乐数、1. 两数之和
LeetCode242有效的字母异位词本题思路:我们只需要分别统计,字符串s,字符串t中每个字符的出现次数,分别用两个数组来存储,然后再循环遍历对比两个数组中相同位置出现的次数,如果有不同的则返回false。统计完之后,然后一一对比arrayS和arrayT,出现次数,判断,这两个字符是有效的字母异位词classSolution{publicbooleanisAnagram(Strings,Str
一个想打拳的程序员
·
2023-12-22 06:17
代码随想录
算法
散列表
代码随想录
算法训练
营Day6 | 454.四数相加||、383.赎金信、35.三个之和、18.四数之和
LeetCode454四数相加||本题思路:如果使用暴力的话就是4层for循环,这个时间复杂度就是O(n^4)了。所以我们可以使用map,来解决这道题,和之前的两数之和一样,之前是遍历一个,存进去一个。如果我们将nums1和nums[2],每一个位置上的和,都存入map集合,然后再判断target-(nums3[i]+nums4[j])的值是否存在于map中,如果在,就计数器count=count
一个想打拳的程序员
·
2023-12-22 06:17
代码随想录
算法
哈希
代码随想录
算法训练
营Day8|344.反转字符串、541. 反转字符串II、卡码网:54.替换数字、151.翻转字符串里的单词、卡码网:55.右旋转字符串
344.反转字符串题目链接:344.反转字符串文档链接:344.反转字符串视频链接:字符串基础操作!|LeetCode:344.反转字符串C++实现classSolution{public:voidreverseString(vector&s){intleft=0;intright=s.size()-1;while(leftusingnamespacestd;intmain(){strings;c
Magical_Jason
·
2023-12-22 06:46
算法训练
算法
代码随想录
算法训练
营day 08 | P344.反转字符串、 P541. 反转字符串II、剑指Offer 05.替换空格、P151.翻转字符串里的单词、剑指Offer58-II.左旋转字符串
代码随想录
算法训练
营day08|P344.反转字符串、P541.反转字符串II、剑指Offer05.替换空格、P151.翻转字符串里的单词、剑指Offer58-II.左旋转字符串P344.反转字符串题目链接
99righter
·
2023-12-22 06:45
算法
代码随想录
算法训练
营day08 | LeetCode 344.反转字符串词 541. 反转字符串II 剑指Offer 05.替换空格 151.翻转字符串里的单词 剑指Offer58-II.左旋转字符串
今天做了五道題目,基本都是用到字符串翻转(局部翻转+整体翻转)和双指针(视情况来resize数组获取额外空间)的做法,收获不小。344.反转字符串(题目链接:力扣)541.反转字符串II(题目链接:力扣)剑指Offer05.替换空格(题目链接:力扣)151.翻转字符串里的单词(题目链接:力扣)剑指Offer58-II.左旋转字符串(题目链接:力扣)
_porter
·
2023-12-22 06:44
leetcode
算法
职场和发展
代码随想录
算法训练
营Day 7| 344反转字符串,541反转字符串ii,151反转单词
344反转字符串初始化两个指针,一个指向字符串的开头(索引0),另一个指向字符串的末尾(索引len(string)-1)。交换两个指针所指向的字符。同时移动两个指针,将它们分别向字符串的中间移动一步。重复步骤2和步骤3,直到两个指针相遇。classSolution(object):defreverseString(self,s):""":types:List[str]:rtype:NoneDono
摆烂小黄猫
·
2023-12-22 06:44
算法
代码随想录
算法训练
营Day7 | 344.反转字符串、541.反转字符串||、替换数字、151.反转字符串中的单词、右旋字符串
LeetCode344反转字符串本题思路:反转字符串比较简单,定义两个指针,一个i=0,一个j=s.length-1。然后定义一个临时变量tmp,进行交换s[i]和s[j]。classSolution{publicvoidreverseString(char[]s){inti=0;intj=s.length-1;while(i='a'&&c<='z'){sb.append(c);}else{sb.
一个想打拳的程序员
·
2023-12-22 06:13
代码随想录
算法
java
开发语言
代码随想录
算法训练
第一天|704.二分查找、27.移除元素
704.二分查找:题目链接:https://leetcode.cn/problems/binary-search/做题思路:二分法的使用条件:1、数组为有序数组2、数组中无重复元素使用二分法最重要的就是:想清楚区间的定义,区间的定义就是不变量。要在二分查找的过程中,保持不变量,就是在While寻找中每一次边界的处理都要就坚持根据区间的定义来操作。二分法的第一种写法:左闭右闭[left,right]
杜阿福
·
2023-12-22 02:23
算法
leetcode
c++
职场和发展
代码随想录
算法训练
营第五十七天| 647 回文子串 516 最长回文子序列
目录647回文子串516最长回文子序列647回文子串在判断中dp[i][j]需要依赖dp[i+1][j-1]所以第一次循环应该从s.size()-1到0。因为j一定比i大,所以第二层循环应该从i到s.size()classSolution{public:intcountSubstrings(strings){intres=0;vector>dp(s.size(),vector(s.size()))
魔法恐龙: )
·
2023-12-22 01:23
代码随想录算法训练营
算法
代码随想录
算法训练
营 | day56 动态规划 583.两个字符串的删除操作,72.编辑距离
刷题583.两个字符串的删除操作题目链接|文章讲解|视频讲解题目:给定两个单词word1和word2,找到使得word1和word2相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。示例:输入:"sea","eat"输出:2解释:第一步将"sea"变为"ea",第二步将"eat"变为"ea"思路及实现这次是两个字符串可以相互删了,这种题目也知道用动态规划的思路来解,动规五部曲,分析如下:
小周今天学习了吗
·
2023-12-21 22:17
java刷题记录
算法
动态规划
java
leetcode
代码随想录
算法训练
营 | day53 动态规划 1143.最长公共子序列,1035.不相交的线,53.最大子序和
刷题1143.最长公共子序列题目链接|文章讲解|视频讲解题目:给定两个字符串text1和text2,返回这两个字符串的最长公共子序列的长度。一个字符串的子序列是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,"ace"是"abcde"的子序列,但"aec"不是"abcde"的子序列。两个字符串的「公共子序列」是这两个字符
小周今天学习了吗
·
2023-12-21 22:16
java刷题记录
算法
动态规划
java
leetcode
代码随想录
算法训练
营 | day55 动态规划 392.判断子序列,115.不同的子序列
刷题392.判断子序列题目链接|文章讲解|视频讲解题目:给定字符串s和t,判断s是否为t的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例1:输入:s="abc",t="ahbgdc"输出:true示例2:输入:s="axc",t="ahbgdc"输出:false提示:
小周今天学习了吗
·
2023-12-21 22:16
java刷题记录
算法
动态规划
java
leetcode
代码随想录
算法训练
营 | day39 动态规划 62.不同路径,63.不同路径Ⅱ
刷题62.不同路径题目链接|文章讲解|视频讲解题目:一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?示例1:输入:m=3,n=7输出:28示例2:输入:m=2,n=3输出:3解释:从左上角开始,总共有3条路径可以到达右下角。向右->向右->向下向右
小周今天学习了吗
·
2023-12-21 22:46
java刷题记录
算法
动态规划
java
leetcode
上一页
28
29
30
31
32
33
34
35
下一页
按字母分类:
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
其他