鱼C论坛

 找回密码
 立即注册
楼主: zltzlt

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

[复制链接]
发表于 2020-2-26 21:54:49 | 显示全部楼层
kinkon 发表于 2020-2-26 21:32
大伙都超时,弄个最短的好了😁

嗯,有改进,但是那个长字符串一样算不出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-26 22:10:11 | 显示全部楼层
fan1993423 发表于 2020-2-26 21:54
嗯,有改进,但是那个长字符串一样算不出来

手机减六个字符可以,电脑要找台好点的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-26 22:48:35 | 显示全部楼层
string = input()
dic = {}

for each in string:
    dic[each] = string.count(each)

number = (2**len(dic)-1)

for i in dic:
    number *= dic[i]

print(number)

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-2-27 12:34:00 | 显示全部楼层
lazolf 发表于 2020-2-26 22:48
string = input()
dic = {}

好像不对吧,我输入asas,出来12
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-27 13:58:28 | 显示全部楼层
def tmp(str1):
    set1 = set()
    for i in range(len(str1)):
        for j in range(len(str1)):
            set1.add(str1[i])
            set1.add(str1[j])
            if i != j and j > i:
                set1.add(str1[i]+str1[j])
                set1.add(str1[i:j+1])
    return set1
抱歉 萌新只能写出这样垃圾的代码

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-2-27 17:25:30 | 显示全部楼层
小甲鱼de粉丝 发表于 2020-2-27 12:34
好像不对吧,我输入asas,出来12

是11,你的代码是不是有问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-27 19:07:51 | 显示全部楼层
小甲鱼de粉丝 发表于 2020-2-27 12:34
好像不对吧,我输入asas,出来12

是不对,我理解错题目了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-28 09:55:59 | 显示全部楼层
lazolf 发表于 2020-2-27 19:07
是不对,我理解错题目了

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

使用道具 举报

 楼主| 发表于 2020-2-28 16:04:01 | 显示全部楼层
jijidebaba 发表于 2020-2-25 21:28
str0 = input("输入:")
substrlist = substr = [str0]
templist = []

输入 "pcrdhwdxmqdznbenhwjsenjhvulyve" 超时
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-2-28 16:06:52 | 显示全部楼层
fan1993423 发表于 2020-2-25 21:45
我现在有点脑袋发蒙,如果效率不行那就交给楼主改造吧

解答错误

输入:"ffaebc"
输出:45
预期结果:47
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-2-28 16:08:37 | 显示全部楼层

输入 "ffcefbc" 超时
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-2-28 16:10:18 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-2-28 16:10:42 | 显示全部楼层
TJBEST 发表于 2020-2-26 11:36
先写一个可能会超时的,递归的,后面再想想别的方法优化

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

使用道具 举报

发表于 2020-2-28 16:13:35 | 显示全部楼层
str1 = input('请输入一段非空字符串')
len1 = len(str1)
list1 = []
a = 1
while a < (2**len1):
    str2 = ''
    for b in range(len1):
        if ((1<<b)&a):
           str2 += str1[b];
    list1.append(str2);
    a += 1;
set1 = set(list1);
num = len(set1)
print(num)
print(list1)
   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-2-28 16:15:07 | 显示全部楼层
KevinHu 发表于 2020-2-26 14:51
这个不对
应该是这个:
def fun(s):

解答错误

输入:"abc"
输出:6
预期结果:7
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-2-28 16:16:18 | 显示全部楼层

输入 "pcrdhwdxmqdznbenhwjsenjhvulyve" 超出内存限制
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-2-28 16:16:45 | 显示全部楼层
kinkon 发表于 2020-2-26 21:32
大伙都超时,弄个最短的好了&#128513;

考虑一下空间复杂度
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-2-28 16:17:54 | 显示全部楼层
lazolf 发表于 2020-2-26 22:48
string = input()
dic = {}

解答错误

输入:"bbfcd"
输出:30
预期结果:23
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-2-28 16:19:35 | 显示全部楼层
ArmandXiao 发表于 2020-2-27 13:58
抱歉 萌新只能写出这样垃圾的代码

解答错误

输入:"bebb"
输出:8
预期结果:9
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-28 16:50:50 | 显示全部楼层
本帖最后由 ArmandXiao 于 2020-2-28 16:52 编辑
zltzlt 发表于 2020-2-28 16:19
解答错误

输入:"bebb"


抱歉 我的 的确是9种
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-15 21:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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