鱼C论坛

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

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

[复制链接]
发表于 2020-4-2 22:56:08 | 显示全部楼层
def f367(s,t):
    dict_s_index = {}
    for index,string in enumerate(s):
        dict_s_index[string] = index
    dict_t={}
    for i in t:
        dict_t[i]=dict_t.get(i,0)+1
    t_str=''
    for i in dict_s_index:
        if i in dict_t.keys():
            t_str+=dict_t[i]*i
        else:
            continue
    for j in dict_t:
        if j not in dict_s_index.keys():
            t_str+=dict_t[j]*j
    return t_str

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-4-2 23:44:56 | 显示全部楼层
def fun367(S, T):
    return ''.join(sorted(T, key=S.find))

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-4-2 23:48:51 | 显示全部楼层
本帖最后由 十月故里 于 2020-4-2 23:56 编辑
s=input()
t=input()
a=s
for i in a:
    if i not in t:
        s=s.replace(i,'')
    else:
        num=t.count(i)
        t=t.replace(i,'')
        s=s.replace(i,i*num)
        
print(s+t)

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-4-3 00:25:09 | 显示全部楼层
s,t=map(str,input().split())
for i in t:
     if(s.find(i)==-1):
         s+=i
print(s)

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-4-3 08:07:40 | 显示全部楼层
S中的所有字母都会在T中出现吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-3 08:59:33 | 显示全部楼层
def fun367(s, t):
    dic = {c:0 for c in s}
    result = ''
    for i in t:
        if i in s:
            dic[i] += 1
        else:
            result += i
    for i in s:
        result += i * dic[i]
    return result

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-4-3 10:47:43 | 显示全部楼层
def p367(t,s):
    list1=[i for i in t]

    dict1={i:t[i]  for i in range(len(list1))}

    list2=[i for i in dict1 if dict1[i] in s]

    list3=sorted(list2,key=lambda x:s.index(t[x]))

    for i in range(len(list2)):
        list1[list2[i]]=dict1[list3[i]]

    return ''.join(list1)

if __name__ =='__main__':
    t='asdbdfgfcdbcbc'
    s='cba'
    print(p367(t,s))

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-4-3 12:02:45 | 显示全部楼层
def p367_1(t,s):
    list1=list(t)
    list2=sorted(list1,key=lambda x:s.index(x) if x in s else len(s))
    return ''.join(list2)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-3 14:56:05 | 显示全部楼层
def topic(S,T):
    b=list(S)
    c=list(T)
    for i in b:
        for r in c:
            if i==r:
                d=c[b.index(i)]
                c[b.index(i)]=i
                c.append(d)
    print(b)
    print(c)
topic(S='asd',T='dsc')

不知道为什么 会死循环  

评分

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

查看全部评分

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

使用道具 举报

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

使用道具 举报

发表于 2020-4-3 16:41:15 | 显示全部楼层
def fun367(s, t):
        temp = str()
        for i in s:
                if i in t:
                        n= s.count(i)
                        for j in range(n):
                                temp += i
        for k in t:
                if k not in s:
                        temp +=k
        return temp
       
s="cba"
t='abcd'
result = fun367(s, t)       

print(result)

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-4-4 10:11:20 | 显示全部楼层
难度评级:简单
要素分析:字符串 桶排序
代码:
def solve(S:str,T:str)->str:
    res = ''
    for each in S:
        res += each*T.count(each)
        T = T.replace(each,'')
    return res+T

if __name__ == '__main__':
    print('示例 输出:',repr(solve('cba','abcd')))
有些日子没来看,居然出了这么些题。

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-4-4 18:30:04 | 显示全部楼层
def fun367(str_s, str_t):
    res = ''
    for i in str_s:
        res += i*str_t.count(i)
        str_t = str_t.replace(i, '')
    res += str_t
    return res

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-4-4 21:57:42 | 显示全部楼层
def f(jh1,jh2):
    a,b = list(jh1),list(jh2)
    for i in b:
        if i not in a:
            a.append(i)
    c = ''.join(a)
    return c

评分

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

查看全部评分

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

使用道具 举报

 楼主| 发表于 2020-4-5 18:02:20 | 显示全部楼层
TJBEST 发表于 2020-4-2 17:56
先来一个

再来一个 ,您测测 不知道哪个更快,如果您测完了 请写两个测试时间 我最近想研究一下 python ...

第一个 176 ms,第二个 26 ms
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-5 18:03:01 | 显示全部楼层

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2020-4-5 18:07:05 | 显示全部楼层
kinkon 发表于 2020-4-2 18:47
试试这样行不行

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

使用道具 举报

发表于 2020-4-5 20:04:43 | 显示全部楼层

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-17 15:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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