题意:

给定长度为N的字符串S,要构造一个长度为N的字符串T串。

从S的头部删除一个字符,加到T的尾部

从S的尾部删除一个字符,加到T的尾部

目标是构造字典序尽可能小的字符串。

示例输入:

ACDBCB

示例输出:

ABCBCD
s1 = 'ACDBCB'

def rev(string:str) -> str:
""":return 返回翻转的string"""
ret = ''
for i in string[::-1]:
ret += i
return ret def f(string1:str, string2:str) -> str:
"""
:param string1: 原str
:param string2: 原str的翻转
:return:
"""
res = ''
length = len(string1)
p1 = 0
p2 = 0
while len(res) < length:
if ord(string1[p1]) < ord(string2[p2]):
res += string1[:p1+1]
string1 = string1[p1+1:]
p1 = 0
p2 = 0
continue
if ord(string1[p1]) > ord(string2[p2]):
res += string2[:p2+1]
string2 = string2[p2+1:]
p2 = 0
p1 = 0
continue if ord(string1[p1]) == ord(string2[p2]):
p1 += 1
p2 += 1 return res[:length] print(f(s1, rev(s1)))

poj_3617 解题的更多相关文章

  1. SCNU ACM 2016新生赛决赛 解题报告

    新生初赛题目.解题思路.参考代码一览 A. 拒绝虐狗 Problem Description CZJ 去排队打饭的时候看到前面有几对情侣秀恩爱,作为单身狗的 CZJ 表示很难受. 现在给出一个字符串代 ...

  2. SCNU ACM 2016新生赛初赛 解题报告

    新生初赛题目.解题思路.参考代码一览 1001. 无聊的日常 Problem Description 两位小朋友小A和小B无聊时玩了个游戏,在限定时间内说出一排数字,那边说出的数大就赢,你的工作是帮他 ...

  3. HDU 3791二叉搜索树解题(解题报告)

    1.题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=3791 2.参考解题 http://blog.csdn.net/u013447865/articl ...

  4. 【BZOJ1700】[Usaco2007 Jan]Problem Solving 解题 动态规划

    [BZOJ1700][Usaco2007 Jan]Problem Solving 解题 Description 过去的日子里,农夫John的牛没有任何题目. 可是现在他们有题目,有很多的题目. 精确地 ...

  5. CH Round #56 - 国庆节欢乐赛解题报告

    最近CH上的比赛很多,在此会全部写出解题报告,与大家交流一下解题方法与技巧. T1 魔幻森林 描述 Cortana来到了一片魔幻森林,这片森林可以被视作一个N*M的矩阵,矩阵中的每个位置上都长着一棵树 ...

  6. wechall.net/stegano 解题心得

    /* 转载请注明出处:http://www.cnblogs.com/Martinium/p/wechall_stegano.html */ 最近迷上了 www.wechall.net 网站,里面都是些 ...

  7. Mountains(CVTE面试题)解题报告

    题目大意: 用一个数组代表群山的高度.高度大的地方代表山峰,小的地方代表山谷.山谷可以容水.假设有一天下了大雨,求群山中总共可以容纳多少水? 如图所示情况,a代表该数组,总共可以容纳5个水. 解题思路 ...

  8. timus 1180. Stone Game 解题报告

    1.题目: 1180. Stone Game Time limit: 1.0 secondMemory limit: 64 MB Two Nikifors play a funny game. The ...

  9. timus 1175. Strange Sequence 解题报告

    1.题目描述: 1175. Strange Sequence Time limit: 1.0 secondMemory limit: 2 MB You have been asked to disco ...

随机推荐

  1. Python逻辑面试题

    1 # *****************************列表操作***************************** 2 # names = ["Lihua",&q ...

  2. 全局解决Vue跳转相同路由导致报错的问题

    大家使用Vue做开发的时候应该都遇到过这个问题,就是某个页面下调用this.$router.push(path),而path指向的页面和当前页面是同一页面时,就会发生报错,vue-router会提示你 ...

  3. Java 面向对象 05

    面向对象·五级 package关键字的概述及作用 * A:为什么要有包     * 将字节码(.class)进行分类存放      * 包其实就是文件夹 * B:包的概述     举例:        ...

  4. 2020年12月-第01阶段-前端基础-认识WEB

    认识WEB 1.认识网页 网页主要由文字.图像和超链接等元素构成.当然,除了这些元素,网页中还可以包含音频.视频以及Flash等. 思考: 网页是如何形成的呢? 总结 网页有图片.链接.文字等元素组成 ...

  5. Java流程控制:三种基本结构

    顺序结构: Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行顺序结构是最简单的算法结构语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的, ...

  6. Redis的常用淘汰策略以及算法实现

    一.Redis的内存配置 1,Redis配置内存为多少合适? 默认:如果不设置最大内存大小或者设置最大内存大小为0,在64为操作系统下不限制内存大小,在32位操作系统下最多使用3GB内存. 极限情况: ...

  7. 面试现场:说说char 和 varchar的区别你了解多少?

    Hi,大家好!我是白日梦!本文是MySQL专题的第 26 篇. 下文还是白日梦以自导自演的方式,围绕"说说char 和 varchar的区别你了解多少?"展开本话题.看看你能抗到第 ...

  8. Forms身份验证 知识总结

    最简单的Forms验证实现方法:FormsAuthentication.SetAuthCookie()方法,传递一个登录名即可FormsAuthentication.SignOut()方法退出Form ...

  9. linux软件管理之yum管理操作软件包

    什么是rpm 1.1`RPM` 全称 `RedHat Package Manager` 缩写,由红帽开发用于软件包的安装.升级.卸载与查询. 1.2rpm包名组成部分 `RPM` 包命名以-将软件分成 ...

  10. 13、Script file 'E:\Anaconda Distribution\Anaconda\Scripts\pip-script.py' is not present.

    pip-script.py文件缺失问题 问题: Script file 'E:\Anaconda Distribution\Anaconda\Scripts\pip-script.py' is not ...