力扣周赛碎碎念
感受
第一次参加周赛,规则是AC才给分,错误提交会罚时,一次5min。
没搞清楚,第二题写了个大概就交了,错了三次才AC。
第一次AC 2题,第三题超时,查不出来(T.T)
第一题签到题性质,不说了
第二题
求回文串的第一个全排列
给个回文字符串s,求它的字典序最小的回文串
第一遍思路:
- 直接排序,然后next_permutation(),然后判断是否是回文串,是就输出
喜提超时
第二遍思路:
- 统计了下各个字母出现的次数,写到数组里,然后从小到大遍历数组,不为1直接写到ans字符串里,然后left++,right–,最后到中间那个,相等的话写剩下一个就行。
1 |
|
笨笨的做法。没注意条件,给的就是个回文串。
其实直接把给的除2写到ans里,再给ans排个序,中间字符单独处理下,最后输出ans+mid+ans.reverse()
就好了。。
第三题
上题的加强版,让求第k个回文串
本来按照上题第2种做法做的,爆解第k个,喜提超时。。(O…O)
然后按照改进思路做的,原字符串砍一半写到temp里,中间单独拎出来,temp排序,然后next_permutation() 走k-1次。如果没next直接输出空字符串就完了。
还是喜提超时 (TwT)
太难了呜呜呜
力扣周赛碎碎念
http://blog.jiuge.host/post/20250413140100.html