https://leetcode.com/problems/orderly-queue/
9/6 更新挑战一行程序码
你有一组字串s 和一个数字k
每次只能从字串s 的前k 项里面选出任一个字母排到s 後面,并且要把s 尽量排成最小字典序的字串(the lexicographically smallest string)
这题的example1 会让题目看起来很难,所以我们先来看example2
首先,example2的output是个按照字母顺序排序的字串,接着我们把example2的k = 3 改成 k = 2 会发现得到一样的结果,改成k = 4、k = 5也一样
因为当k >= 2 时,我们就能把最小顺序的字母留在最前面,最後都一定能排出按照顺序完美排好的字串,只是差在快慢而已
至於k=1 的状况,我们只要列出所有的组合并找出最小的顺序就好
class Solution:
def orderlyQueue(self, s: str, k: int) -> str:
if k > 1:
return ''.join(sorted(s))
temp = []
for i in range(len(s)):
temp.append( s[i:] + s[:i])
return min(temp)
class Solution:
def orderlyQueue(self, s: str, k: int) -> str:
return ''.join(sorted(s)) if k > 1 else min([s[i:] + s[:i] for i in range(len(s))])
这题虽然是hard题目,但是相比前两天同样是hard的题目简单很多
可能是因为太简单的关系,这题倒赞比高了不少
总之顺利完成第5天了!!!
话说我可能近视加深需要换眼镜了,今天第一次看到这个gif竟然看成他在打手枪...
>>: IOS、Python自学心得30天 Day-2 Anaconda
前一篇说到 该怎麽写 data 的资料,找回双向绑定机制 !!! 这边先小小的补充一下 XD 在 O...
接下来几天会陆陆续续带给大家各种元素使用,会有程序码以及网页呈现的样子,大家可以跟着做做看会更了解,...
复习: 在昨天讲解了如何使用mysqldump备份是数据和binlog相关过滤方法,今天来实际模拟...
前言 今天继续训练阶段中的模型评估。 翻译器建立实作 模型评估 给定一个资料集(英、中文平行语句),...
好的~ 昨天做好搜寻栏了,今天来做下面的列表 那一样需要先建一个子组件,可以参考 Day21,这边就...