鱼C论坛

 找回密码
 立即注册
查看: 4105|回复: 62

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

[复制链接]
发表于 2020-2-7 21:54:19 | 显示全部楼层 |阅读模式

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

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

x
今天的题目:


给定两个字符串 s 和 t。字符串 t 是由随机打乱字符顺序的字符串 s 在随机位置添加个字符而成。

找出在 t 中添加的字符。

示例 1:

输入:s = 'abcd',t = 'abcde'
输出:'e'
示例 2:

输入:s = 'a',t = 'aa'
输出:'a'


欢迎大家一起答题!
最佳答案
2020-2-8 12:44:30
  1. def func(s, t):
  2.     for i in t:
  3.         if i not in s:
  4.             return i
  5.         else:
  6.             if s.count(i) != t.count(i):
  7.                 return i
复制代码

本帖被以下淘专辑推荐:

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

使用道具 举报

发表于 2020-2-7 22:08:11 | 显示全部楼层
  1. def func(s, t):
  2.     set1 = set(t)
  3.     for each in set1:
  4.         if s.count(each) != t.count(each):
  5.             return each
复制代码

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-2-7 22:08:17 | 显示全部楼层
  1. def f326(s,t):
  2.     for a,b in zip(s,t[:-1]):
  3.         if a!=b:
  4.             return b
  5.     return t[-1]
复制代码

评分

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

查看全部评分

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2020-2-7 22:10:11 | 显示全部楼层


解答错误

输入:
  1. s = "vnarumubgspwiaeckgnxipnzrdynkioyjzngeytraihdxxtalsxtrtpezzwltqzibkxmikquogajuntmnmfnaukhbczbkalcgqqgxzrysnvqkclnzfkurw"
  2. t = "qezltntnkeffirprqgtlzusdcxpmgqjtiyqzpsktuoarhkizrszbcxxmjgumiaucwnxukczwannakknkygxinwdbranxbmnrzgzgebqokahyivatyulnnvl"
复制代码

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

使用道具 举报

发表于 2020-2-7 22:13:02 | 显示全部楼层
s='abcd'   t打乱是不是随意 比如 t=‘cadb’    然后随意加个'e'  t='ceadb'  找出这个e?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-7 22:13:37 | 显示全部楼层
fan1993423 发表于 2020-2-7 22:13
s='abcd'   t打乱是不是随意 比如 t=‘cadb’    然后随意加个'e'  t='ceadb'  找出这个e?

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

使用道具 举报

发表于 2020-2-7 22:20:26 | 显示全部楼层
本帖最后由 塔利班 于 2020-2-7 22:37 编辑
zltzlt 发表于 2020-2-7 22:10
解答错误

输入:

  1. def f326(s,t):
  2.     d={t[-1]:-1}
  3.     for a,b in zip(s,t[:-1]):
  4.         d[a]=d.get(a,0)+1
  5.         d[b]=d.get(b,0)-1
  6.     for e in d:
  7.         if d[e]:
  8.             return e
复制代码

木看到乱序这个坑

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-2-7 22:21:16 | 显示全部楼层
再写一个,不知效率如何。
  1. def func(s, t):
  2.     dict_s = {}
  3.     dict_t = {}
  4.     for each in s:
  5.         if each in dict_s:
  6.             dict_s[each] += 1
  7.         else:
  8.             dict_s[each] = 1
  9.     for each in t:
  10.         if each in dict_t:
  11.             dict_t[each] += 1
  12.         else:
  13.             dict_t[each] = 1
  14.     for k, v in dict_t.items():
  15.         if v != dict_s.get(k):
  16.             return k
复制代码

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-2-7 22:36:27 | 显示全部楼层
  1. def fun326(s,t):
  2.     s,t=sorted(s),sorted(t)
  3.     for i in range(len(s)):
  4.         if s[i]!=t[i]:
  5.             return t[i]
  6.     else:return t[-1]
复制代码

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-2-7 22:47:41 | 显示全部楼层
本帖最后由 fan1993423 于 2020-2-7 22:52 编辑
  1. def fun326(s,t):
  2.     st=s+t
  3.     for i in t:
  4.         if st.count(i)%2:return i
复制代码

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-2-7 22:55:12 | 显示全部楼层
  1. def f326(s,t):
  2.     return [i for i in set(t) if s.count(i)!=t.count(i)][0]
  3.    
  4. print(f326('addcb','abcdde'))
复制代码

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-2-7 22:55:58 | 显示全部楼层
  1. def fun326(s, t):
  2.     temp0 = set(t)
  3.     temp1 = set(s)
  4.     for each in temp0:
  5.         if(each not in temp1) or (s.count(each) != t.count(each)):
  6.             return each
复制代码

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-2-7 23:06:39 | 显示全部楼层
答案如下:
  1. s = input('s =')
  2. t = input('t =')

  3. a=len(s)
  4. b=iter(s)

  5. t = list(t)

  6. for i in range (a):
  7.     c=next(b)
  8.     t.remove(c)

  9. t = t.pop(0)
  10. print(t)
复制代码

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-2-7 23:11:58 | 显示全部楼层
def fun(s,t):
    for i in s:
        t=t.replace(i,'',1)
    return t

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-2-7 23:21:18 | 显示全部楼层
占个位置吧,我感觉大家差不多,明天再来吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-7 23:27:28 | 显示全部楼层
本帖最后由 kinkon 于 2020-2-8 09:23 编辑
  1. def pu326(s,t):
  2.     s1,t1=sorted(list(set(s))),sorted(list(set(t)))
  3.     n1,n=s1+t1,sorted(list(s)+list(t))
  4.     if s1!=t1:
  5.         return [i for i in n1 if n1.count(i)==1][0]
  6.     else:
  7.         return [i for i in n if n.count(i)%2==1][0]
复制代码

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-2-7 23:27:31 | 显示全部楼层
本帖最后由 William4869 于 2020-2-8 16:05 编辑
  1. def f326(s,t):
  2.     for each in set(t):
  3.         if s.count(each)!=t.count(each):
  4.             return each

  5. print(f326('adaads','daddaas'))
复制代码



这么晚的每日。。。

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-2-7 23:29:15 | 显示全部楼层
本帖最后由 ouyunfu 于 2020-2-7 23:50 编辑

def fun326(s,t):
    for i in t:
        if sorted(i+s)==sorted(t):
            return i

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-2-7 23:32:25 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 19:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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