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

做网站文案策划步骤佛山广告设计公司排名

做网站文案策划步骤,佛山广告设计公司排名,如何开发一个视频网站,长沙网站建设多少钱1.题目基本信息 1.1.题目描述 我们称一个长度为偶数的字符串 s 为 反回文 的&#xff0c;如果对于每一个下标 0 < i < n &#xff0c;s[i] ! s[n - i - 1]。 给定一个字符串 s&#xff0c;你需要进行 任意 次&#xff08;包括 0&#xff09;操作使 s 成为 反回文。 在…

1.题目基本信息

1.1.题目描述

我们称一个长度为偶数的字符串 s 为 反回文 的,如果对于每一个下标 0 <= i < n ,s[i] != s[n - i - 1]。

给定一个字符串 s,你需要进行 任意 次(包括 0)操作使 s 成为 反回文。

在一次操作中,你可以选择 s 中的两个字符并且交换它们。

返回结果字符串。如果有多个字符串符合条件,返回 字典序最小 的那个。如果它不能成为一个反回文,返回 “-1”。

1.2.题目地址

https://leetcode.cn/problems/make-string-anti-palindrome/description/

2.解题方法

2.1.解题思路

贪心

2.2.解题步骤

第一步,统计s中各个字符的频数,以及特殊情况处理。当s中某一个字符个数超过长度的一半,那么一定不能操作使其成为反回文串,直接返回"-1"即可。反之,按各个字符的字典序连续的连接起来,形成一个新的字符串,记为s1

第二步,记n=len(s1),如果正中间的两个字符相等,则直接返回s1(此时就是反回文串了);反之,如果中间的两个字符相等,记中间字符的前段长度为r1,则需要中间后面r1的部分替换为非中间字符,等价于将s1[n//2-1]的下一个不同字符后面的连续d个字符子串移动到正中间(d为此时中间字符子串的前部分的长度)

2.1.计算回文串后半段需要移动的距离,即为中间回文串前半段的长度

2.2.求不同于正中间字符的下一个不同字符及其初始位置

2.3.进行最终字符串合并,模拟回文串右段的移动

第三步,返回结果

3.解题代码

Python代码

class Solution:def makeAntiPalindrome(self, s: str) -> str:# 思路:贪心# 第一步,统计s中各个字符的频数,以及特殊情况处理。当s中某一个字符个数超过长度的一半,那么一定不能操作使其成为反回文串,直接返回"-1"即可。反之,按各个字符的字典序连续的连接起来,形成一个新的字符串,记为s1n = len(s)cnt = Counter(s)s1 = ""for c in sorted(cnt.keys()):if cnt[c] > n // 2:return "-1"s1 += c * cnt[c]# print(s1)# 第二步,记n=len(s1),如果正中间的两个字符相等,则直接返回s1(此时就是反回文串了);反之,如果中间的两个字符相等,记中间字符的前段长度为r1,则需要中间后面r1的部分替换为非中间字符,等价于将s1[n//2-1]的下一个不同字符后面的连续d个字符子串移动到正中间(d为此时中间字符子串的前部分的长度)if s1[n // 2 - 1] != s1[n // 2]:return s1# 2.1.计算回文串后半段需要移动的距离,即为中间回文串前半段的长度d = 0i1, i2 = n // 2 - 1, n // 2while s1[i1 - d] == s1[n // 2]:d += 1# print("d", d)# 2.2.求不同于正中间字符的下一个不同字符及其初始位置j = n // 2 + 1while s1[j] == s1[n // 2]:j += 1c1 = s1[j]# print("c1", c1)# print(s1[:n // 2], s1[n // 2:])# 2.3.进行最终字符串合并,模拟回文串右段的移动result = s1[: n // 2] + s1[j: j + d] + s1[n // 2 : j] + s1[j + d:]# print(result)# 第三步,返回结果return result

4.执行结果

http://www.dtcms.com/wzjs/538791.html

相关文章:

  • 网站设置专栏有什么好处网站搭建策略与方法
  • 路由器上建网站腾讯服务器做网站
  • 阿里云做网站要几天商企在线营销型网站
  • 陕西正天建设有限公司网站做网站头视频
  • 最便宜的网站空间网站建设方案设计
  • 最佳外贸英文网站模板网站怎么做镜像
  • 广州网站建设高端网直播网站功能怎么做
  • 网站建设基本步骤石家庄+外贸网站建设公司
  • 网站标题堆砌关键词网上做网站赚钱
  • 微网站 好处河南郑州暴雨伤亡
  • 外贸网站推广 雅虎问答有用吗计算机应用软件开发
  • 网站建设与网页制作的实验目的网站开发毕设参考文献
  • 网站建设 验证码展示型企业网站有哪些
  • 网站建设与安全管理北京住房与建设部网站首页
  • 网站系统规划报告石景山区百科seo
  • 社交模板网站建设wordpress 调用page
  • 网站后台目录如何保护外贸商城网站 定制
  • 大连建设主管部门官方网站做机械产品用什么网站
  • 谁知道做网站的电话企业网络营销目标
  • 网站开发可选择方案有哪些浦东新区手机网站建设
  • 做网站 做手机app要学什么软件合肥中科大网站开发
  • 零基础 网站英文公司网站模板
  • 指定网站长期建设 运营计划实事热点新闻事件
  • app建设网站公司简介社交网站开发教程
  • 成都网站开发的公司区块链开发语言
  • wordpress插件 盗版seo网络推广费用
  • 网站备案未注销 影响官方app
  • 珠海网站关键词推广建站行业市场容量
  • 生鲜网站建设的总体目标做网站什么笔记本好用
  • 网站优化建设宁夏苏州网上挂号预约平台12320