【LeetCode与《代码随想录》】字符串篇:做题笔记与总结-JavaScript版

news/2024/4/25 9:41:10/文章来源:https://blog.csdn.net/karshey/article/details/128021946

文章目录

    • 代码随想录
    • 主要题目
      • 344. 反转字符串
      • 541. 反转字符串 II
      • 剑指 Offer 05. 替换空格
      • 151. 反转字符串中的单词
      • 剑指 Offer 58 - II. 左旋转字符串
      • 28. 找出字符串中第一个匹配项的下标(KMP)还没写
      • 459.重复的子字符串(KMP)还没写

代码随想录

代码随想录
代码随想录CSDN官方

主要题目

344. 反转字符串

https://leetcode.cn/problems/reverse-string/description/

var reverseString = function(s) {for(let i=0,j=s.length-1;i<j;i++,j--){[s[i],s[j]]=[s[j],s[i]]}
};

541. 反转字符串 II

https://leetcode.cn/problems/reverse-string-ii/description/

注意:

  • js的字符串是常量,是不能在字符串上修改的
  • 因此这里要把字符串拆成数组,s.split
  • 最后再把数组拼回字符串,s.join
/*** @param {string} s* @param {number} k* @return {string}*/
var reverseStr = function (s, k) {const len = s.length;let arr = s.split('');for (let i = 0; i < len; i += 2 * k) {let l = i, r = l + k - 1 > len - 1 ? len - 1 : l + k - 1;while (l < r) {[arr[l], arr[r]] = [arr[r], arr[l]]l++, r--}}return arr.join('');
};

剑指 Offer 05. 替换空格

https://leetcode.cn/problems/ti-huan-kong-ge-lcof/description/

/*** @param {string} s* @return {string}*/
var replaceSpace = function (s) {let num = 0;let arr = [];for (let i = 0; i < s.length; i++) {if (s[i] == ' ') arr.push('%20')else arr.push(s[i])}return arr.join('');
};

151. 反转字符串中的单词

https://leetcode.cn/problems/reverse-words-in-a-string/

注意:会有多个空格,而字符串中的空格在split后为''

/*** @param {string} s* @return {string}*/// 在数组中去除多余空格
var space = function (arr) {let arr1 = []for (let i = 0; i < arr.length; i++) {if (arr[i] != '') {arr1.push(arr[i])}}return arr1;
}var reverseWords = function (s) {let arr = s.split(' ');let arr1 = space(arr)for (let i = 0, j = arr1.length - 1; i < j; i++, j--) {[arr1[i], arr1[j]] = [arr1[j], arr1[i]]}return arr1.join(" ")
};

剑指 Offer 58 - II. 左旋转字符串

https://leetcode.cn/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof/description/

var reverseLeftWords = function (s, n) {for (let i = 0; i < n; i++) {s += s[i]}return s.slice(n);
};

28. 找出字符串中第一个匹配项的下标(KMP)还没写

https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/

459.重复的子字符串(KMP)还没写

https://leetcode.cn/problems/repeated-substring-pattern/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_73021.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SPI的增强式插件框架设计

很久之前&#xff0c;为了诊断线上的问题&#xff0c;就想要是能有工具可以在线上出问题的时候&#xff0c;放个诊断包进去马上生效&#xff0c;就能看到线上问题的所在&#xff0c;那该是多么舒服的事情。后来慢慢的切换到 java 领域后&#xff0c;这种理想也变成了现实&#…

【selenium 自动化测试】如何搭建自动化测试环境,搭建环境过程应该注意的问题

最近也有很多人私下问我&#xff0c;selenium学习难吗&#xff0c;基础入门的学习内容很多是3以前的版本资料&#xff0c;对于有基础的人来说&#xff0c;3到4的差别虽然有&#xff0c;但是不足以影响自己&#xff0c;但是对于没有学过的人来说&#xff0c;通过资料再到自己写的…

2023年PMP考试应该注意些什么?

首先注意&#xff08;报考条件&#xff09; 2023年PMP考试报名流程&#xff1a; 一、PMP英文报名&#xff1a; 英文报名时间无限制&#xff0c;随时可以报名&#xff0c;但有一年的有效期&#xff0c;所以大家尽量提前报名&#xff0c;在英文报名有效期内进行中文报名。 英…

深度卷积对抗神经网络 进阶 第三部分 GANs Unpaired Translation with Cycle GAN 模型

非配对的图像转换应用 Unpaired Image-to-Image Translation Unpaired image-to-image translation 主要用于学习两组图像之间的对应关系&#xff0c;检查和寻找两堆数据中的共同内容&#xff08;content&#xff09;以及每堆独有的特点&#xff08;style&#xff09;。而这个…

【Database-03】从 MySQL 迁移到 达梦数据库(DM 8)

1、环境 源数据库 MySQL 8.30 目标数据库 DM 8 操作系统 Centos 9 Steam 迁移工具 DM 数据迁移工具 (DM DTS) 2、开始迁移 2.1、打开DM数据迁移工具 在新建工程对话框中填写工程名和工程描述信息&#xff0c;点击【确定】按钮&#xff0c;成功添加了一个工程。 2.2、新建迁…

3年经验,3轮技术面+1轮HR面,拿下字节30k*16薪offer,这些自动化测试面试题值得大家借鉴

面试一般分为技术面和hr面&#xff0c;形式的话很少有群面&#xff0c;少部分企业可能会有一个交叉面&#xff0c;不过总的来说&#xff0c;技术面基本就是考察你的专业技术水平的&#xff0c;hr面的话主要是看这个人的综合素质以及家庭情况符不符合公司要求&#xff0c;一般来…

2023年,IT互联网还有发展前景吗?

不得不说&#xff0c;互联网在整个社会经济发展中扮演着不可或缺的角色&#xff1b;不仅自身的技术具有前沿性&#xff0c;也推动着其他行业进入数字化经济时代&#xff0c;让我们的工作生活变得更加便捷。 在“互联网”时代&#xff0c;每个服务行业都会利用大数据&#xff0…

SpringBoot入门(二)

这里写目录标题一、SpringBoot整合Junit1.1 搭建SpringBoot工程1.2 引入starter-test起步依赖1.3 编写类1.4 测试二、SpringBoot整合mybatis2.1 搭建SpringBoot工程2.2 引入mybatis起步依赖&#xff0c;添加驱动2.3 编写DataSource和MyBatis相关配置2.4 定义表和实体类2.5 编写…

Bootstrap入门到精通

文章目录前言一、Bootstrap是什么&#xff1f;二、Bootstrap安装方式一&#xff1a;将压缩包下载到本地引入使用方式二&#xff1a;使用Bootstrap官方cdn二.Bootstrap容器下面是屏幕宽度在不同大小时不同容器的显示状态三.Bootstrap栅格系统bootstrap网格系统有以下六个类网格系…

linux shell 入门学习笔记7 父子shell面试题

1. 不同的执行方式&#xff0c;不同的shell环境 每次调用bash/sh解释器执行脚本都会开启一个子shell&#xff0c;因此不保留当前shell变量&#xff0c;通过pstree命令检查进程树调用source是当前环境加载脚本&#xff0c;因此保留变量 例子&#xff1a; xiao123xiao123:~/Dow…

直播间的2个小感悟

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 在线人数固定 最近直播间出现了很多新面孔&#xff0c;有的是偶然刷到的&#xff0c;有的是关注互联网找到的。而直播间的人数一直没什么变化&#xff0c;卢松松在抖音直播较少&#xff0c;主播间…

开学第一周,超30所高校系主任选择与百度飞桨联办校赛

经历了一场特殊而漫长的假期&#xff0c;各地校园又恢复了往日的热闹&#xff0c;重新焕发出勃勃生机&#xff0c;师生们在一声声久别重逢的暖心问候中&#xff0c;迎来了2023年春季学期。 以赛促学蔚然成风 开学季是校内竞赛策划及启动的最佳时机之一&#xff0c;越来越多的老…

JVM17GUI工具

3. JVM 监控及诊断工具-GUI 篇 3.1. 工具概述 命令行工具或组合能帮您获取目标 Java 应用性能相关的基础信息&#xff0c;但它们存在下列局限&#xff1a; 1&#xff0e;无法获取方法级别的分析数据&#xff0c;如方法间的调用关系、各方法的调用次数和调用时间等&#xff0…

TEMU联盟计划用意何在?做推广达人真的能收入满满吗?

据东哥近期了解&#xff0c;Temu在北美市场表现十分火爆&#xff0c;甚至冲上了AppStore下载榜第一名。Temu在美国市场上采用了类似PDD的病毒式传播策略&#xff0c;以实惠的产品和折扣吸引消费者并动员普通人大量传播链接和App下载&#xff0c;所以有了TEMU联盟计划&#xff0…

ArcGIS导出AI或EPS格式的地图图片并在Adobe Illustrator中继续编辑

本文介绍在ArcGIS下属的ArcMap软件中&#xff0c;将绘制好的地图导出为.ai或者.eps格式文件&#xff0c;并在Adobe Illustrator软件中进一步编辑地图&#xff0c;并最终导出为图片格式的结果文件的方法。 在ArcMap软件中绘制各类地图可以说非常方便&#xff0c;绘制得到的地图也…

深圳/东莞/惠州师资比较强的CPDA数据分析认证

深圳/东莞/惠州师资比较强的CPDA数据分析认证培训机构 CPDA数据分析师认证是中国大数据领域有一定权威度的中高端人才认证&#xff0c;它不仅是中国较早大数据专业技术人才认证、更是中国大数据时代先行者&#xff0c;具有广泛的社会认知度和权威性。 无论是地方政府引进人才、…

synchronized和ReentrantLock有什么区别呢?

第15讲 | synchronized和ReentrantLock有什么区别呢&#xff1f; 从今天开始&#xff0c;我们将进入 Java 并发学习阶段。软件并发已经成为现代软件开发的基础能力&#xff0c;而 Java 精心设计的高效并发机制&#xff0c;正是构建大规模应用的基础之一&#xff0c;所以考察并发…

Golang学习Day1

&#x1f60b; 大家好&#xff0c;我是YAy_17&#xff0c;是一枚爱好网安的小白。本人水平有限&#xff0c;欢迎各位大佬指点&#xff0c;欢迎关注 &#x1f601;&#xff0c;一起学习 &#x1f497; &#xff0c;一起进步 ⭐ 。⭐ 此后如竟没有炬火&#xff0c;我便是唯一的光…

诚邀您体验人工智能AI

近期&#xff0c;人工智能&#xff08;AI&#xff09;领域动作频频&#xff0c;OPENAI公司Chat GPT的出现&#xff0c;标志着人工智能的研究与应用已经进入了一个崭新的发展阶段&#xff0c;国内腾讯、阿里巴巴、百度、易网、国外微软、谷歌、苹果、IBM、Amazon&#xff0c;等互…

电子技术——反馈放大器的分析方法总结

电子技术——反馈放大器的分析方法总结 第一种也是最简单的估算方法&#xff0c;直接拿出反馈网络&#xff0c;计算 β\betaβ 则假设在 AβA\betaAβ 无限大的情况下有 Af≃1/βA_f \simeq 1/\betaAf​≃1/β 。开环法。比第一种方法更能精确的估计 AAA 和 β\betaβ 的值。系…