鱼C论坛

 找回密码
 立即注册
查看: 10624|回复: 67

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

[复制链接]
发表于 2020-3-27 18:00:47 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 zltzlt 于 2020-3-27 18:26 编辑

今天的题目:


给定两个由小写字母构成的字符串 a 和 b ,判断是否可以通过交换字符串 a 中的两个字母得到字符串 b。

示例 1:

输入:a = "ab",b = "ba"
输出:True
示例 2:

输入:a = "ab",b = "ab"
输出:False
示例 3:

输入:a = "aa",b = "aa"
输出:True
示例 4:

输入:a = "aaaaaaabc",b = "aaaaaaacb"
输出:True
示例 5:

输入:a = "",b = "aa"
输出:False


欢迎大家一起答题!
最佳答案
2020-3-27 21:16:53
def func360(a,b):
    if len(a) != len(b):
        return False
    count = 0
    temp = []
    for i in range(len(a)):
        if a[i] != b[i]:
            print("different")
            count +=1
            if count > 2:
                return False
            temp.append(a[i])
            temp.append(b[i])
    if count ==1:
        return False
    elif count ==0:
        tempa = "".join(set(a))
        if len(tempa) != len(a):
            return True
        return False
    elif count == 2:
        if temp[:2] == temp[:1:-1]:
            return True
        return False

本帖被以下淘专辑推荐:

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

使用道具 举报

发表于 2020-3-27 18:23:12 | 显示全部楼层
本帖最后由 一个账号 于 2020-3-27 18:33 编辑
def func(a, b):
    if len(a) != len(b):
        return False
    else:
        for i in range(len(a)-1):
            new = a
            new = list(new)
            new[i], new[i+1] = new[i+1], new[i]
            if "".join(new) == b:
                return True
    return False

评分

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

查看全部评分

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

使用道具 举报

 楼主| 发表于 2020-3-27 18:24:30 | 显示全部楼层

解答错误

输入:a = "aa", b = "aa"
输出:False
预期结果:True
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-27 18:24:55 | 显示全部楼层
zltzlt 发表于 2020-3-27 18:24
解答错误

输入:a = "aa", b = "aa"
def func(a, b):
    if len(a) != len(b):
        return False
    else:
        for i in range(len(a)):
            new = a
            new = list(new)
            new[i], new[i+1] = new[i+1], new[i]
            if "".join(new) == b:
                return True
    return False
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-27 18:25:23 | 显示全部楼层
本帖最后由 March2615 于 2020-3-27 18:26 编辑
    if len(a) != len(b):
        return False
    temp = []
    for i in range(len(a)):
        if a[i] != b[i]:
            temp.append(a[i])
            temp.append(b[i])
    if len(temp) != 4 or list(reversed(temp)) != temp:
        return False
    return True

评分

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

查看全部评分

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

使用道具 举报

 楼主| 发表于 2020-3-27 18:27:07 | 显示全部楼层
March2615 发表于 2020-3-27 18:25
上一题还是359,突然变成了370

感谢指出,太粗心了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-27 18:27:12 | 显示全部楼层

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

使用道具 举报

 楼主| 发表于 2020-3-27 18:27:35 | 显示全部楼层

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

使用道具 举报

 楼主| 发表于 2020-3-27 18:28:13 | 显示全部楼层

解答错误

输入:a = "aa", b = "aa"
输出:False
预期结果:True
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-27 18:29:08 | 显示全部楼层
本帖最后由 ouyunfu 于 2020-3-27 18:36 编辑
def f360(a:str,b:str)->bool:
    m,n = len(a),len(b)
    L=[i for i in range(m) if a[i]!=b[i]]
    if m!=n:
        return False
    elif a==b:
        return True
    elif a[:L[0]]+a[L[1]]+a[L[0]+1:L[1]]+a[L[0]]+a[L[1]+1:]==b:
        return True
    else: return False

评分

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

查看全部评分

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

使用道具 举报

发表于 2020-3-27 18:29:57 | 显示全部楼层
def func(a, b):
    if len(a) != len(b):
        return False
    else:
        for i in range(len(a)-1):
            new = a
            new = list(new)
            new[i], new[i+1] = new[i+1], new[i]
            if "".join(new) == b:
                return True
    return False
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-27 18:35:22 | 显示全部楼层
本帖最后由 zltzlt 于 2020-3-27 18:37 编辑


解答错误

输入:a = "ab", b = "ab"
输出:True
预期结果:False
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-27 18:36:06 | 显示全部楼层
本帖最后由 zltzlt 于 2020-3-27 18:46 编辑


解答错误

输入:a = "abab", b = "abab"
输出:False
预期结果:True
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-27 18:36:51 | 显示全部楼层
zltzlt 发表于 2020-3-27 18:36
解答错误

输入:a = "abab", b = "abab"

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

使用道具 举报

发表于 2020-3-27 18:38:31 | 显示全部楼层
本帖最后由 永恒的蓝色梦想 于 2020-3-27 19:10 编辑
class Solution:
    def buddyStrings(self, a: str, b: str) -> bool:
        count=0
        temp=False

        if len(a)!=len(b):
            return False
        
        elif a==b:
            return len(set(a))!=len(a)

        for a,b in zip(a,b):
            if a!=b:
                if temp:
                    return False

                elif count:
                    if a==charA and b==charB:
                        temp=True

                    else:
                        return False

                else:
                    count=1
                    charA=b
                    charB=a

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

使用道具 举报

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

使用道具 举报

发表于 2020-3-27 18:38:57 | 显示全部楼层

原题是:给定两个由小写字母构成的字符串 A 和 B ,只要我们可以通过交换 A 中的两个字母得到与 B 相等的结果,就返回 true ;否则返回 false 。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-27 18:40:38 | 显示全部楼层
zltzlt 发表于 2020-3-27 18:36
解答错误

输入:a = "abab", b = "abab"

这不是可以把a中的两个a交换位置吗?
感觉今天的题想不到的情况有点多啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2020-3-27 18:46:08 | 显示全部楼层
本帖最后由 一个账号 于 2020-3-27 18:53 编辑
class Solution:
    def buddyStrings(self, A: str, B: str) -> bool:
        if len(A) != len(B): return False 
        if A == B and len(set(A)) < len(A): return True
        dif = [(a, b) for a, b in zip(A, B) if a != b]
        return len(dif) == 2 and dif[0] == dif[1][::-1]

评分

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

查看全部评分

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-28 17:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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