鱼C论坛

 找回密码
 立即注册
查看: 6234|回复: 22

[技术交流] 每周一练系列第五期 把字符变得一样(C++提升计划)(回复可见)

[复制链接]
发表于 2022-10-2 19:22:07 | 显示全部楼层 |阅读模式
本帖最后由 高山 于 2022-10-7 18:44 编辑

好久不见~

今天是每周一练系列第五期

由我和每周一练团队@zhangjinxuan @元豪 @hveagle )发布

                               
登录/注册后可看大图


题目描述:

输入两个一样长的字符串s和t。
你每次可以选择s中的一个字符,然后把它换成另一个字符。
请问,最少操作多少次可以把s和t变得一模一样
样例输入:
cupofcoffee
cupofhottea
样例输出:
4
正式代码:
游客,如果您要查看本帖隐藏内容请回复

zhangjinxuan的解法:
游客,如果您要查看本帖隐藏内容请回复

上一期:质数筛
下一期:BFS
正方观点 (9)

支持!

反方观点 (0)

不咋样

辩手:5 ( 加入 )
 
辩手:0 ( 加入 )

    评分

    参与人数 2鱼币 +7 收起 理由
    zhangjinxuan + 2
    tommyyu + 5

    查看全部评分

    本帖被以下淘专辑推荐:

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

    使用道具 举报

    发表于 2022-10-2 21:29:40 | 显示全部楼层
    就是有多少个字符不一样嘛
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复

    使用道具 举报

    发表于 2022-10-2 21:33:22 | 显示全部楼层
    没看懂正解,这是我的答案:
    #include <bits/stdc++.h>
    
    using namespace std;
    
    int main() {
            string s, t;
            cin >> s >> t;
            assert(s.size() == t.size());
            int l = 0, ans = 0;
            for (auto i : s)
                    ans += i != t[l++];
            printf("%d", ans);
    }
            
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复

    使用道具 举报

    发表于 2022-10-2 21:36:35 | 显示全部楼层
    没看懂正解,是不是写错了?
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复

    使用道具 举报

    发表于 2022-10-3 14:59:03 | 显示全部楼层
    本帖最后由 hveagle 于 2022-10-27 19:07 编辑

    Python版本
    import sys
    s = input('s:')
    t = input('t:')
    result = 0
    index = 0
    if len(s) != len(t):
        print('无法执行')
        sys.exit()
    try:
        while 1:
            if s[index] != t[index]:
                u += 1
                index += 1
            else:
                index += 1
    except IndexError:
        print(result)
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复

    使用道具 举报

    发表于 2022-10-3 15:49:01 | 显示全部楼层
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复

    使用道具 举报

    发表于 2022-10-3 16:22:04 | 显示全部楼层
    ffff
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复

    使用道具 举报

    发表于 2022-10-3 23:05:11 | 显示全部楼层
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复

    使用道具 举报

     楼主| 发表于 2022-10-4 10:01:43 | 显示全部楼层
    zhangjinxuan 发表于 2022-10-2 21:36
    没看懂正解,是不是写错了?

    改改

    评分

    参与人数 1荣誉 +1 收起 理由
    zhangjinxuan + 1

    查看全部评分

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

    使用道具 举报

    发表于 2022-10-7 14:22:18 | 显示全部楼层
    在帖子末尾加上 上一篇 下一篇(之前是被提醒,现在是我提醒
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复

    使用道具 举报

     楼主| 发表于 2022-10-7 18:22:49 | 显示全部楼层
    zhangjinxuan 发表于 2022-10-2 21:36
    没看懂正解,是不是写错了?

    传错了

    评分

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

    查看全部评分

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

    使用道具 举报

     楼主| 发表于 2022-10-7 20:10:41 | 显示全部楼层
    zhangjinxuan 发表于 2022-10-7 14:22
    在帖子末尾加上 上一篇 下一篇(之前是被提醒,现在是我提醒)

    加了

    评分

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

    查看全部评分

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

    使用道具 举报

    发表于 2022-10-7 23:25:58 | 显示全部楼层
    我一个C来凑热闹
    #include <stdio.h>
    
    int main()
    {
            char s[1024],t[1024];
            int count=0,i;
            scanf("%s%s",s,t);
            
            for (i=0;s[i]!='\0';i++) if (s[i]!=t[i]) count++;
            printf("%d\n",count);
            return 0;
    }
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复

    使用道具 举报

    发表于 2022-10-7 23:28:23 | 显示全部楼层
    这个正解的思路也太巧妙了吧
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复

    使用道具 举报

    发表于 2022-10-8 18:50:39 | 显示全部楼层
    这个必须要学习,谢谢.
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复

    使用道具 举报

    发表于 2022-10-8 19:00:30 | 显示全部楼层
    看完了代码,发觉有不懂的:C#中的断言(Assert)
    查了一下,发现此是一个神器.
    冒昧地想了一下,发现断言的用法,最好是用在某个功能的函数起"转折"作用的代码段上,
    既不会出现滥用的副作用,又提升了排查隐患的范围,今天至少学到了一个新东西,感谢楼主啊.
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复

    使用道具 举报

    发表于 2022-10-14 22:15:53 | 显示全部楼层
    支持
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复

    使用道具 举报

    发表于 2022-10-14 22:17:10 | 显示全部楼层
    zhangjinxuan 发表于 2022-10-2 21:33
    没看懂正解,这是我的答案:

    正解就是按位枚举,如果不同的话就意味着需要多操作一次,将ret++
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复

    使用道具 举报

    发表于 2022-10-14 22:17:20 | 显示全部楼层
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复

    使用道具 举报

    发表于 2022-10-15 06:30:45 | 显示全部楼层
    ExiaGN001 发表于 2022-10-14 22:17
    正解就是按位枚举,如果不同的话就意味着需要多操作一次,将ret++

    原本正解楼主复制错了,没看懂,现在改正了,可以看懂了
    想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
    回复

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-11-15 21:51

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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