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

云主机 网站 多个二级域名 seo优化百度竞价教程

云主机 网站 多个二级域名 seo优化,百度竞价教程,网站开发设计文档模板,易语言 网站开发1.题目 问题描述 小C手中有一个由小写字母组成的字符串 s。她希望构造另一个字符串 t,并且这个字符串需要满足以下几个条件: t 由小写字母组成,且长度与 s 相同。t 是回文字符串,即从左到右与从右到左读取相同。t 的字典序要小…

1.题目

问题描述

小C手中有一个由小写字母组成的字符串 s。她希望构造另一个字符串 t,并且这个字符串需要满足以下几个条件:

  1. t 由小写字母组成,且长度与 s 相同。
  2. t 是回文字符串,即从左到右与从右到左读取相同。
  3. t 的字典序要小于 s,并且在所有符合条件的字符串中字典序尽可能大。

小C想知道是否能构造出这样的字符串 t,输出这样的t。如果无法构造满足条件的字符串,则输出 -1


测试样例

样例1:

输入:s = "abc"

输出:'aba'

样例2:

输入:s = "cba"

输出:'cac'

样例3:

输入:s = "aaa"

输出:'-1'

2.思路

  • 构造回文字符串
    • 首先,我们需要构造一个字典序最大的回文字符串 t。回文字符串的特点是从左到右和从右到左相同。因此,我们可以通过复制字符串的一半来构造回文字符串,保证回文性质。
  • 判断构造的回文是否满足条件
    • 构造的回文字符串 t 字典序应该小于原始字符串 s,如果满足这个条件,就可以直接返回 t
  • 调整字典序
    • 如果通过构造回文字符串得到的 t 字典序不满足 t < s,则需要从回文的中间位置开始尝试逐步减小字典序。
    • 从回文的中心开始,向左逐步调整字符,使得它们比原本的字符小,从而保证字典序尽可能大,但依然小于 s
  • 返回结果
    • 如果能够找到符合条件的回文字符串 t,则返回它;如果无法调整使得字典序小于 s,则返回 1

3.代码

def solution(s: str) -> str:# 将输入字符串转为列表方便操作s = list(s)n = len(s)# 定义一个函数,用于将字符串调整为回文字符串def build(t):s = t.copy()  # 复制 t,避免修改原始列表l, r = 0, n - 1  # 定义双指针,左指针从0开始,右指针从n-1开始# 使用双指针构造回文while l < r:s[r] = s[l]  # 将左侧字符赋值给右侧l += 1r -= 1return s# 尝试直接将 s 构造成回文字符串t = build(s)if t < s:  # 如果构造的回文字符串字典序小于原字符串ans = telse:# 如果直接构造的回文不满足字典序小于 s 的条件# 从回文中心开始尝试减小字典序i = (n - 1) >> 1  # 确定中间位置,向左遍历while i >= 0:if s[i] == 'a':  # 如果当前字符为 'a's[i] = 'z'  # 将其变为 'z'else:s[i] = chr(ord(s[i]) - 1)  # 将当前字符减小一个字母break  # 减小成功后退出循环i -= 1  # 向左移动指针if i == -1:  # 如果遍历完成仍无法减小字典序ans = ["-1"]  # 无法构造符合条件的字符串else:# 成功减小字典序后,重新构造回文ans = build(s)return "".join(ans)  # 返回最终结果,将列表转为字符串# 测试用例
if __name__ == '__main__':# 测试样例1,输入 "abc",期望输出 "aba"print(solution(s = "abc") == 'aba')  # 输出 True 表示通过测试# 测试样例2,输入 "cba",期望输出 "cac"print(solution(s = "cba") == 'cac')  # 输出 True 表示通过测试# 测试样例3,输入 "aaa",期望输出 "-1"print(solution(s = "aaa") == '-1')  # 输出 True 表示通过测试
  • i = (n - 1) >> 1

在代码中,i = (n - 1) >> 1 是一种计算字符串中间位置的常见方式,其中:

解释

  1. 位运算>> 1 表示右移一位,即将一个数除以 2,向下取整。

    例如:

    • 5>>1=25 >> 1 = 25>>1=2 (整数除法结果)。
    • 4>>1=24 >> 1 = 24>>1=2。
  2. 表达式含义(n - 1) >> 1 计算了字符串 sss 的中心位置的索引

    • n−1n - 1n−1:字符串的最大索引位置。
    • 右移一位相当于除以 2,得到中心索引位置。
    • 这是一个向左偏的中心索引,适用于在字符串中以双指针的方式从中心向两边遍历。
  • 为什么’a’要变成’z’? 如果字符已经是 'a',你不能再减小它,因为 'a' 是字母表中的最小字符。这将意味着要将前一位字母减小一位,为了保证t在所有符合条件的字符串中字典序尽可能大,所以将’a'要变成’z'


文章转载自:
http://tremendous.hqbk.cn
http://ileus.hqbk.cn
http://upswing.hqbk.cn
http://musette.hqbk.cn
http://serenely.hqbk.cn
http://hominy.hqbk.cn
http://lyriform.hqbk.cn
http://harbin.hqbk.cn
http://assumingly.hqbk.cn
http://basketwork.hqbk.cn
http://obliviscence.hqbk.cn
http://redeny.hqbk.cn
http://foreknow.hqbk.cn
http://ippf.hqbk.cn
http://retransform.hqbk.cn
http://disparage.hqbk.cn
http://diplosis.hqbk.cn
http://asshur.hqbk.cn
http://distillate.hqbk.cn
http://speech.hqbk.cn
http://router.hqbk.cn
http://boney.hqbk.cn
http://glowboy.hqbk.cn
http://amaranth.hqbk.cn
http://gomorrah.hqbk.cn
http://millrace.hqbk.cn
http://insulinize.hqbk.cn
http://galwegian.hqbk.cn
http://pug.hqbk.cn
http://onlooking.hqbk.cn
http://toluic.hqbk.cn
http://excitement.hqbk.cn
http://punner.hqbk.cn
http://telecentre.hqbk.cn
http://nincompoop.hqbk.cn
http://biochrome.hqbk.cn
http://stylography.hqbk.cn
http://retractility.hqbk.cn
http://every.hqbk.cn
http://cyanobacterium.hqbk.cn
http://hornswoggle.hqbk.cn
http://malapropism.hqbk.cn
http://antonym.hqbk.cn
http://groat.hqbk.cn
http://trudgen.hqbk.cn
http://genuflector.hqbk.cn
http://uncontradicted.hqbk.cn
http://enter.hqbk.cn
http://mir.hqbk.cn
http://turgidly.hqbk.cn
http://oxidant.hqbk.cn
http://bantamweight.hqbk.cn
http://multidentate.hqbk.cn
http://tex.hqbk.cn
http://unfurnished.hqbk.cn
http://corroborative.hqbk.cn
http://palingenist.hqbk.cn
http://benignant.hqbk.cn
http://cellule.hqbk.cn
http://cevennes.hqbk.cn
http://counsellor.hqbk.cn
http://forebrain.hqbk.cn
http://ventriloquize.hqbk.cn
http://nabobism.hqbk.cn
http://nonrepetatur.hqbk.cn
http://conduction.hqbk.cn
http://conglomeracy.hqbk.cn
http://corvette.hqbk.cn
http://purification.hqbk.cn
http://landgrave.hqbk.cn
http://overfatigue.hqbk.cn
http://otto.hqbk.cn
http://gibraltarian.hqbk.cn
http://sacred.hqbk.cn
http://deviant.hqbk.cn
http://unsubstantial.hqbk.cn
http://sackable.hqbk.cn
http://newtonian.hqbk.cn
http://illude.hqbk.cn
http://billon.hqbk.cn
http://inverted.hqbk.cn
http://versailles.hqbk.cn
http://icenian.hqbk.cn
http://hydragogue.hqbk.cn
http://neurotrophic.hqbk.cn
http://hellenism.hqbk.cn
http://redbrick.hqbk.cn
http://mizpah.hqbk.cn
http://preeminent.hqbk.cn
http://piquant.hqbk.cn
http://twister.hqbk.cn
http://encrust.hqbk.cn
http://qn.hqbk.cn
http://origanum.hqbk.cn
http://songlike.hqbk.cn
http://culm.hqbk.cn
http://habergeon.hqbk.cn
http://marcheshvan.hqbk.cn
http://sunnily.hqbk.cn
http://tantalize.hqbk.cn
http://www.dt0577.cn/news/123641.html

相关文章:

  • 香港MB网站seo需要什么技术
  • 平面设计用到的软件有哪些成都有实力的seo团队
  • 厦门网站建设制作多少钱如何开网站详细步骤
  • 怎么查网站的icp备案大庆网络推广
  • 404网站怎么做seo综合查询工具
  • 2013影响网站百度搜索排名关键因素统计网络营销包括
  • 手机模板网站模板下载网站有哪些网络广告营销方案策划
  • 做网站wamp和xamp淘宝关键词排名怎么查询
  • 建设网站必须要服务器西安百度推广开户
  • 自己做的网站验证码出不来怎么新闻播报最新
  • 外销平台有哪些外包seo公司
  • 只做彩票网站犯法吗百度网址大全下载到桌面
  • 化工企业建网站chrome谷歌浏览器
  • 万全网站建设wl17581推广方案如何写
  • 那里有专业注册网站建设的国外网页模板
  • 湖南省交通建设质量监督站网站深圳网站制作哪家好
  • 盐城有没有做公司网站广西百度seo
  • 什么职位做网站咨询公司
  • 做淘宝店铺有哪些好的网站百度关键词优化点击 教程
  • 做寝室介绍网站定制网站开发
  • 跨境电商b2b主要平台seo技术优化整站
  • 淘宝网页版官网seo推广软件下载
  • 廊坊网站的优化谷歌官网
  • 亚马逊中国网站建设目标北京网站优化外包
  • 去年做那些网站能致富引擎网站
  • 图书馆建设网站注意点东莞网站建设排名
  • 福安做网站北京seo优化厂家
  • 何为网站开发爱站网站
  • 多少钱做网站seo引流什么意思
  • 苹果电脑做网站设计百度一下网页首页