验证解决方案逻辑时需要的建议

德鲁夫·玛瓦(Dhruv Marwha)

我正在尝试一个有竞争性的编程问题,并且我确信实现此问题所使用的逻辑是正确的。我会要求其他StackOverflow用户的帮助来帮助我

问题如下:

布赖恩(Brian)造了车,对自己应该为它取什么名字感到困惑。他向罗曼求助。罗曼(Roman)是他的好朋友,提出了很多名字。Brian只喜欢以下名字:

  • 完全由三个不同的字符组成,例如C1,C2和C3

  • 满足字符串格式为-C1n C2n C3n的条件:这意味着,首先C1出现n次,然后C2出现n次,然后C3出现n次。例如,xyz,cacaarr,mmmiiiaaa满足条件,但xyzw,aabbbcccc不满足条件。

给定Roman所建议的N个名称,如果Brian不喜欢该名称,则打印“ OK”,如果不喜欢,则打印“ Not OK”。

因此,此的Python代码如下:

no_of_cases=int(input())

for value in range(no_of_cases):
dictionary={}

car_name=input()

for value in car_name:
    dictionary[value]=dictionary.get(value,0)+1

if len(dictionary)==3:
    count_list=list(dictionary.values())
    name_list=list(dictionary.keys())
    if ((count_list[0]==count_list[1]==count_list[2])):
        c1=name_list[0]*count_list[0]+name_list[1]*count_list[0]+name_list[2]*count_list[0]
        c6=name_list[0]*count_list[0]+name_list[2]*count_list[0]+name_list[1]*count_list[0]
        c2=name_list[1]*count_list[0]+name_list[2]*count_list[0]+name_list[0]*count_list[0]
        c5=name_list[1]*count_list[0]+name_list[0]*count_list[0]+name_list[2]*count_list[0]
        c3=name_list[2]*count_list[0]+name_list[0]*count_list[0]+name_list[1]*count_list[0]
        c4=name_list[2]*count_list[0]+name_list[1]*count_list[0]+name_list[2]*count_list[0]
        if car_name==c1 or car_name==c2 or car_name==c3 or car_name== c4 or car_name==c5 or car_name==c6:
            print("OK")
        else:
            print("Not OK")
    else:
        print("Not OK")
else:
    print("Not OK")

样本输入/输出

bbbrrriii-OK

brian-NOT OK

曾是

您的逻辑是正确的,但是您使逻辑变得复杂,即使那样也会产生正确的输出。

这是一个简单的版本:

no_of_cases=int(input())

for value in range(no_of_cases):
    car_name=input()
    name_length = len(car_name)
    correct = True if name_length%3==0 else False
    if correct:
        each_length = name_length//3
        first,mid,last=car_name[0],car_name[each_length],car_name[-1]
        if (first!=last) and (first!=mid) and (last!=mid):
            if car_name!=(first*each_length+mid*each_length+last*each_length):
                correct=False
        else:
            correct=False

    if correct:
        print("Ok")
    else:
        print("Not Ok")

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

需要关于符合 SCORM 的学习解决方案的建议

来自分类Dev

需要一个简单的编程逻辑解决方案。

来自分类Dev

C#逻辑(编码中需要的解决方案)

来自分类Dev

关于备份解决方案的建议?

来自分类Dev

关于备份解决方案的建议?

来自分类Dev

需要帮助来了解Ruby气泡排序解决方案中的语法/逻辑

来自分类Dev

Haskell算法建议和替代解决方案的建议

来自分类Dev

需要'System.IndexOutOfRangeException'解决方案

来自分类Dev

需要Grails搜索功能/解决方案

来自分类Dev

Ruby块(需要解决方案)

来自分类Dev

转发HLS流-需要解决方案

来自分类Dev

需要Str_replace解决方案

来自分类Dev

需要缓解部分的解决方案

来自分类Dev

ListNode解决方案需要说明

来自分类Dev

Angular:更好的表单验证解决方案

来自分类Dev

数据验证查询的报告解决方案

来自分类Dev

验证解决方案中的.csproj文件

来自分类Dev

apex oracle 验证解决方案

来自分类Dev

Django OID 令牌验证解决方案

来自分类Dev

哪种情况下汇编速度不够快,所以您需要直接的硬件/布尔逻辑解决方案?

来自分类Dev

以下提到的勘误的此建议解决方案正确吗?

来自分类Dev

如果没有适当的解决方案,建议是什么?

来自分类Dev

ASP.Net体系结构解决方案/建议

来自分类Dev

Grsync备份解决方案的建议设置是什么?

来自分类Dev

搜索字符串的非蛮力建议解决方案

来自分类Dev

clpfd需要标记以找到任何解决方案(使用\ +时)

来自分类Dev

在多个模式之间提取数据时需要Python解决方案保存到csv

来自分类Dev

需要解决方案以在debug == false时在模板中显示媒体文件

来自分类Dev

当我需要时间间隔非常精确时,是否有比 setInterval 更好的解决方案?

Related 相关文章

  1. 1

    需要关于符合 SCORM 的学习解决方案的建议

  2. 2

    需要一个简单的编程逻辑解决方案。

  3. 3

    C#逻辑(编码中需要的解决方案)

  4. 4

    关于备份解决方案的建议?

  5. 5

    关于备份解决方案的建议?

  6. 6

    需要帮助来了解Ruby气泡排序解决方案中的语法/逻辑

  7. 7

    Haskell算法建议和替代解决方案的建议

  8. 8

    需要'System.IndexOutOfRangeException'解决方案

  9. 9

    需要Grails搜索功能/解决方案

  10. 10

    Ruby块(需要解决方案)

  11. 11

    转发HLS流-需要解决方案

  12. 12

    需要Str_replace解决方案

  13. 13

    需要缓解部分的解决方案

  14. 14

    ListNode解决方案需要说明

  15. 15

    Angular:更好的表单验证解决方案

  16. 16

    数据验证查询的报告解决方案

  17. 17

    验证解决方案中的.csproj文件

  18. 18

    apex oracle 验证解决方案

  19. 19

    Django OID 令牌验证解决方案

  20. 20

    哪种情况下汇编速度不够快,所以您需要直接的硬件/布尔逻辑解决方案?

  21. 21

    以下提到的勘误的此建议解决方案正确吗?

  22. 22

    如果没有适当的解决方案,建议是什么?

  23. 23

    ASP.Net体系结构解决方案/建议

  24. 24

    Grsync备份解决方案的建议设置是什么?

  25. 25

    搜索字符串的非蛮力建议解决方案

  26. 26

    clpfd需要标记以找到任何解决方案(使用\ +时)

  27. 27

    在多个模式之间提取数据时需要Python解决方案保存到csv

  28. 28

    需要解决方案以在debug == false时在模板中显示媒体文件

  29. 29

    当我需要时间间隔非常精确时,是否有比 setInterval 更好的解决方案?

热门标签

归档