当前位置: 首页 > news >正文

学校网站 制作做网站标题居中代码

学校网站 制作,做网站标题居中代码,企业关键词优化价格,怎么查看网站哪个公司做的😀前言 在程序设计中,字符串处理问题屡见不鲜,其中“字符串左旋”是一种常见操作,今天我们一起来探讨一个经典的左旋转字符串题目,以及一种优雅的解决方案——三步翻转法。 🏠个人主页:尘觉主页…

在这里插入图片描述

img

😀前言
在程序设计中,字符串处理问题屡见不鲜,其中“字符串左旋”是一种常见操作,今天我们一起来探讨一个经典的左旋转字符串题目,以及一种优雅的解决方案——三步翻转法

🏠个人主页:尘觉主页

文章目录

  • 🥰左旋转字符串
    • 题目链接
    • 💝题目描述
    • 💞分析与思路
      • 举例说明
    • 💞代码实现
      • 代码详解
    • 复杂度分析
    • 😄总结

🥰左旋转字符串

题目链接

牛客网

💝题目描述

题目要求将给定字符串 SSS 从第 KKK 个位置分割为两个子串并互换位置。例如:

  • 输入S = "abcXYZdef"K = 3
  • 输出"XYZdefabc"

解题的关键在于实现有效的字符串左旋,即将字符串的前 KKK 个字符移到末尾,形成新的字符串。

💞分析与思路

左旋转字符串可以通过切分字符串并拼接两部分的方式实现,但这种方法可能会导致大量的内存复制。三步翻转法是一种更加高效的方式,仅需对字符数组进行三次局部翻转即可完成目标操作:

  1. 将前 KKK 个字符翻转。
  2. 将剩余字符翻转。
  3. 最后对整个字符串再翻转一次。

举例说明

S = "abcXYZdef"K = 3 为例:

  1. 第一步:翻转前 3 个字符 abc,得到 cbaXYZdef
  2. 第二步:翻转后续字符 XYZdef,得到 cbaZYXfed
  3. 第三步:将整个字符串翻转,得到 XYZdefabc,即我们期望的结果。

💞代码实现

接下来,我们使用 Java 语言实现三步翻转法。此算法时间复杂度为 O(n),仅需常数级的额外空间,因此在性能和空间占用上都表现优异。

public class Solution {public String LeftRotateString(String str, int n) {// 边界条件检查if (str == null || n >= str.length()) {return str;}// 转换为字符数组,方便操作char[] chars = str.toCharArray();// 第一步:翻转前 n 个字符reverse(chars, 0, n - 1);// 第二步:翻转后面的字符reverse(chars, n, chars.length - 1);// 第三步:将整个字符串翻转reverse(chars, 0, chars.length - 1);return new String(chars);}// 辅助函数:翻转指定区间的字符private void reverse(char[] chars, int i, int j) {while (i < j) {swap(chars, i++, j--);}}// 辅助函数:交换字符数组的两个元素private void swap(char[] chars, int i, int j) {char t = chars[i];chars[i] = chars[j];chars[j] = t;}
}

代码详解

  • reverse函数:负责翻转字符数组中某个指定区间的字符。
  • swap函数:用于交换字符数组中的两个字符。

通过这些辅助函数,我们只需 3 步完成了字符串的左旋转操作。

复杂度分析

  • 时间复杂度:三次翻转,每次 O(n)O(n)O(n),因此总时间复杂度为 O(n)O(n)O(n)。
  • 空间复杂度:操作在原字符串的字符数组上进行,因此空间复杂度为 O(1)O(1)O(1)。

😄总结

在这道题目中,使用三步翻转法避免了直接拼接带来的额外开销,使得操作更加高效简洁。无论是面试还是实际开发中,这种方法都非常实用。

这个题目很好地锻炼了对字符串操作和数组翻转的理解,三步翻转法的思路在其他字符串旋转、数组循环移位等问题中也能得到广泛应用。希望这篇文章能帮助大家掌握并熟练应用这种方法。

😁热门专栏推荐
想学习vue的可以看看这个

java基础合集

数据库合集

redis合集

nginx合集

linux合集

手写机制

微服务组件

spring_尘觉

springMVC

mybits

等等等还有许多优秀的合集在主页等着大家的光顾感谢大家的支持

🤔欢迎大家加入我的社区 尘觉社区

文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁
希望能和诸佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞

img

http://www.yayakq.cn/news/226320/

相关文章:

  • 成都网站建设 常凡云wordpress版权信息
  • 怎样创建网站教程中国最新消息开火
  • 敦煌网站做外贸怎样网站备案 查询
  • 济宁住房与建设网站怎么做百度网盘链接网站
  • 钦州住房和城乡建设局网站自己怎么做卡密网站
  • 开发一套网站多少钱wordpress多久学会
  • 用手机建立网站基础做网站的小结
  • 网站开发投标文件人工智能软件定制
  • 自建站模板wordpress首页显示友情链接
  • 网站建设教程讲解网站ftp密码怎么修改
  • 青海哪家做网站的公司最大wordpress 失眠先生
  • 加强机构编制网站建设力度甘肃中高风险地区
  • 建网站要多少钱用自己的服务器网络管理中心网站
  • 游戏网站建设杭州wordpress 屏蔽谷歌字体
  • 邮箱163登录东莞做网站乐云seo
  • 国外做3d模型的网站怎么用电脑做网站服务器
  • 珠海医疗网站建设建设银行采购网站
  • 如何做网站内页排名公司网站别人做的怎么签合同
  • 网站懒加载怎么做工程咨询公司加盟合作
  • 金华北京网站建设网络营销软件代理
  • 阜阳网站建设站长之家端口扫描
  • 企业门户网站功能列表做网站爱游戏
  • oa信息管理系统邢台做网站建设优化制作公司金信
  • 三合一网站指的是什么意思网站建设目标的技术可行性
  • 北京网站制作公司兴田德润可以不个人网站备案如何取名称
  • wordpress主题自定义打不开天津百度关键词seo
  • 东莞地产网站建设html怎么做商品页面
  • 昆明市网站建设网站怎么维护
  • 网站建设怎样容易wordpress问答类主题
  • 计算机网站建设与维护正国级领导有几位