鱼C论坛

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

Python:每日一题 286

[复制链接]
发表于 2019-12-8 23:01:18 | 显示全部楼层
#每日一题
def fun1(s):
    def fun(s,i = 0):
        while s[0:1]==s[i:i+1]:
            if s[0:1] == '':
                return ''
            i += 1
        return s[0:1]+str(i)+fun(s[i:])
    s1 = fun(s)
    return s if len(s) <= len(s1) else s1

评分

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

查看全部评分

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

使用道具 举报

发表于 2019-12-8 23:54:36 | 显示全部楼层

你这不行啊,abbccddaa 这样答案应该是a3b2d2d2,但是你的答案确实abbccddaa
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-8 23:57:18 | 显示全部楼层
pythonsrj 发表于 2019-12-8 23:54
你这不行啊,abbccddaa 这样答案应该是a3b2d2d2,但是你的答案确实abbccddaa

好吧, 我没看清题目,不是求所有的相同的元素
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-9 11:08:11 From FishC Mobile | 显示全部楼层
版主,你好,我是新人,能不能你发答案的时候,把注释附在答案上,这样我们新人可以理解的更清楚一点,大家麻烦顶一下,让版主看到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-9 14:38:41 | 显示全部楼层
本帖最后由 graceasyi 于 2019-12-9 14:40 编辑
def fun286(letters_str):
    if letters_str:
        letter = letters_str[0]
        temp, t = [letter], 0
        for ls in letters_str:
            if ls == letter:
                t += 1
            else:
                temp.extend((str(t), ls))
                letter, t = ls, 1
        temp.append(str(t))
        result = ''.join(temp)
        return result if len(result) < len(letters_str) else letters_str
    else:
        return letters_str


print(fun286("aabcccccaaa"))
print(fun286(""))

评分

参与人数 1荣誉 +3 鱼币 +3 贡献 +2 收起 理由
zltzlt + 3 + 3 + 2 904 ms

查看全部评分

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

使用道具 举报

发表于 2019-12-9 16:55:14 | 显示全部楼层
def fun286(s):
    so=s
    sl=len(s)
    ch=s[0]
    s_out=''
    count=0
    for i in s:
        if i==ch:
            count+=1
        else:
            s_out+=ch+str(count)
            ch=i
            count=1
    else:
        s_out+=ch+str(count)
    if len(s_out)<sl:
        return s_out
    else:
        return  so

评分

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

查看全部评分

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

使用道具 举报

发表于 2019-12-9 19:03:36 | 显示全部楼层
def fun(string):
        if not string:
                return ''
        new = string[0]
        count = 0
        for x in range(len(string)-1):
                if string[x] == string[x+1]:
                        count += 1
                else:
                        new += str(count+1) +string[x+1]
                        count = 0
        return new+ str(count+1) if len(new) + 1 < len(string) else string

评分

参与人数 1荣誉 +3 鱼币 +3 贡献 +2 收起 理由
zltzlt + 3 + 3 + 2 840 ms

查看全部评分

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

使用道具 举报

发表于 2019-12-9 20:11:11 | 显示全部楼层
def fun1(s):
    s1,s2,i = '',s,0
    while 1:
        if s[:1]=='':
            break
        else :
            if s[:1] == s[i:i+1]:
                i+=1
            else :
                s1,s,i = s1+s[:1]+str(i),s[i:],0
    return s1 if len(s1)<len(s2) else s2
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-9 21:15:16 | 显示全部楼层
嗯?今天没有新题吗?又高亮了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-10 13:29:46 | 显示全部楼层
都是高手啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-10 20:48:51 | 显示全部楼层

解答错误

输入:"aabcccccaaa"
输出:"a5b1c5"
预期结果:"a2b1c5a3"
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-10 20:50:40 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-10 20:51:10 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-10 20:59:35 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-10 21:00:23 From FishC Mobile | 显示全部楼层
zltzlt 发表于 2019-12-10 20:48
解答错误

输入:"aabcccccaaa"

啊我理解错了题意!马上改!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-10 21:01:03 | 显示全部楼层
Maxiangwang 发表于 2019-12-9 11:08
版主,你好,我是新人,能不能你发答案的时候,把注释附在答案上,这样我们新人可以理解的更清楚一点,大家 ...

每日一题不提供答案,可以参考其他用户的解法。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-12-10 21:01:53 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-10 21:30:16 | 显示全部楼层

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

使用道具 举报

发表于 2019-12-10 21:49:44 From FishC Mobile | 显示全部楼层
zltzlt 发表于 2019-12-10 20:48
解答错误

输入:"aabcccccaaa"

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

使用道具 举报

发表于 2019-12-11 08:56:04 | 显示全部楼层
@zltzlt 怎么看程序跑的时间?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-24 20:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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