鱼C论坛

 找回密码
 立即注册
查看: 6889|回复: 131

[已解决]Python:每日一题 342

[复制链接]
发表于 2020-3-3 19:42:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 zltzlt 于 2020-3-3 20:21 编辑

今天的题目:


给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。

说明:字符串不仅只包含小写字母。

示例 1:

输入:"tactcoa"
输出:True
解释:排列有 "tacocat"、"atcocta",等等
示例 2:

输入:"abcda"
输出:False


欢迎大家一起答题!
最佳答案
2020-3-5 16:12:47
def count():
    odd_n = 0
    coun = 0
    for x in d:
        for y in word:
            if x == y:
                coun += 1
        if (coun % 2) == 1:
            odd_n += 1
        coun = 0
    if odd_n == 0 or odd_n == 1:
        print('True')
    else:
        print('False')

word = str(input())
d = []
for i in word:
    if i not in d:
        d.append(i)
count()

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-3 19:43:41 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-3-3 19:44:11 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 19:45:30 | 显示全部楼层

是的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 19:45:46 | 显示全部楼层

我也有点不明白。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-3 19:46:29 | 显示全部楼层
蒋博文 发表于 2020-3-3 19:45
我也有点不明白。。。

@wuqramy 意思是利用字符串中的所有字符能不能组成一个回文的字符串
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 19:47:39 | 显示全部楼层
zltzlt 发表于 2020-3-3 19:46
@wuqramy 意思是利用字符串中的所有字符能不能组成一个回文的字符串

哦,明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 19:48:04 | 显示全部楼层
if(s = s[::-1]):
return True
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 19:51:20 | 显示全部楼层
第一个怎么就是True了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-3 19:51:35 | 显示全部楼层
fwxxx 发表于 2020-3-3 19:51
第一个怎么就是True了


你没理解到题目,题目意思是利用字符串中的所有字符能不能组成一个回文的字符串
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 19:52:29 | 显示全部楼层
fwxxx 发表于 2020-3-3 19:51
第一个怎么就是True了

没有那么简单
是第一个字符串所有的字符能不能组成一个回文联
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 19:57:37 | 显示全部楼层
zltzlt 发表于 2020-3-3 19:46
@wuqramy 意思是利用字符串中的所有字符能不能组成一个回文的字符串

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 19:58:28 | 显示全部楼层
暂时只想到了这种笨方法,传入大数据可能会超时
from itertools import permutations

def func342(s):
    for p in permutations(s):
        temp = str(''.join(str(x) for x in p))
        if temp == temp[::-1]:
            return True
    return False

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
zltzlt + 1 + 1

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 19:58:33 | 显示全部楼层
import itertools
list_all = []
list_string = []
for p in itertools.permutations("tactcoa"):
    list_all.append(''.join(str(x) for x in p))
for string in list_all:
    if string == string[::-1]:
        list_string.append(string)
print(set(list_string))

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
zltzlt + 1 + 1

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-3 19:59:18 | 显示全部楼层
yexing 发表于 2020-3-3 19:58
暂时只想到了这种笨方法,传入大数据可能会超时

输入 "aabbhijkkjih" 就超时
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-3 19:59:31 | 显示全部楼层

不要用常规的方法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 20:01:09 | 显示全部楼层
zltzlt 发表于 2020-3-3 19:59
输入 "aabbhijkkjih" 就超时

我尽力了,等待鱼油们更好的实现吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 20:07:07 | 显示全部楼层
本帖最后由 fwxxx 于 2020-3-3 20:12 编辑


def fun(s):
    flag = 0
    l = len(s)
    if(l%2==0):
        for i in s:
            if s.count(i) == 2:
                continue
            else:
                return False
        return True
    if(l%2==1):
        for i in s:
            if s.count(i) == 2:
                continue
            elif s.count(i)==1:
                flag+=1
    if flag !=1:
        return False
    return  True

if __name__ == '__main__':
    s = input()
    if(fun(s)):
        print("True")
    else:
        print("false")

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 20:08:26 | 显示全部楼层
存不存在空字符的情况,如果为空是True还是False
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-3 20:09:25 | 显示全部楼层
fan1993423 发表于 2020-3-3 20:08
存不存在空字符的情况,如果为空是True还是False

不存在
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-28 09:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表