为什么我的布尔数组不适用于 CCC 的问题拉格曼?

沉默的程序员

我试图解决的问题是 2016 年加拿大计算机比赛的高级问题 S1 (Ragaman):https ://cccgrader.com/

转述问题描述和规范:

Given two strings of length N (1 <= N <= 100), determine whether the second 
string is a wildcard anagram of the first.  The first string will consist 
entirely of lower case letter characters, the second might also contain 
asterisk characters.

我的代码(在 Java 中)已经适用于某些情况,但不是全部,而且几天来我一直试图找出我的代码的问题,但仍然找不到。我使用了不同的布尔值和 int 数组来解决这个问题。

//s1_2016
import java.util.*;
public class Main {
    public static void main(String args[])
    {
        Scanner in = new Scanner(System.in);

        String s1 = in.nextLine();
        String s2 = in.nextLine();
        String newS2 = "";
        int  c = 0;

        //create new S2 string with no *
        for(int i=0;i<s2.length();i++)
            if(s2.charAt(i)!='*')
                newS2 = newS2 + s2.charAt(i);
            else
                c++;

        //makes a array of false based on the length of s1
        Boolean[] boolS1 = new Boolean[101];
        for(int i=0;i<101;i++)
            boolS1[i]=false;

        //main algorithm
        for(int i=0;i<newS2.length();i++)
            for(int j=0;j<s1.length();j++)
            {
                if((newS2.charAt(i)==s1.charAt(j))&&(boolS1[j]==false))
                    boolS1[j]=true;
            }
        //boolean found=true;
        int counter = 0;
        for(int i=0;i<s1.length();i++)
        {
            if (boolS1[i]==false)
                counter++;
        }

        if(counter==c)
            System.out.println("A");
        else 
            System.out.println("N");
    }
}

如果代码适用于两个示例问题,它很可能会起作用,但是当我尝试用更长的数字解决它时,它应该开始不起作用。提前致谢

基因召唤

考虑样本输入 2

  1. cccrocks
  2. socc*rk*

并自行完成您的“主要算法”。对于 newS2 中的每个位置,您正在测试 S1 中的每个位置以进行匹配。什么时候发生i == 2

newS2.charAt(2)将与s1.charAt(0); charAt(1); charAt(2); and charAt(5)布尔数组初始化为AND匹配is 'c' false,因此布尔数组中的位置 0、1、2 和 5 都更新为truewhile i == 2这不是您想要查找字谜的行为。

在找到第一个匹配项并将布尔索引设置为true. 您的解决方案可能还有其他问题,但我认为这是主要问题。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么`(c *)|(cccd)`匹配`ccc`,而不是`cccd`?

来自分类Dev

php数组中的问题不适用于while

来自分类Dev

Yii accessRules问题-不适用于我

来自分类Dev

似乎无法弄清楚为什么DIV不适用于整个部分,PHP / HTML DIV问题

来自分类Dev

IF语句问题不适用于选择

来自分类Dev

我必须做些什么才能保证在aaa.jar之前先加载ccc.jar?

来自分类Dev

为什么我的函数适用于矩阵但为什么不适用于向量?

来自分类Dev

为什么ng-bind不适用于数组?

来自分类Dev

为什么每个循环不适用于JSON数组

来自分类Dev

为什么“ a或b或c”不适用于NumPy数组?

来自分类Dev

为什么数组公式不适用于整个列?

来自分类Dev

为什么我的for循环不适用于对象?

来自分类Dev

为什么我的模板不适用于 JSONDecodable

来自分类Dev

为什么我的 sudo 命令适用于 ansible 而不适用于 ansible-playbook?

来自分类Dev

我的拉格朗日乘法器 matlab 代码有什么问题?

来自分类Dev

贝尔曼·福特vs迪克斯特拉:在什么情况下贝尔曼·福特更好?

来自分类Dev

Google表格:色标条件格式适用于C列,但不适用于B列。请帮我解决这个问题吗?

来自分类Dev

Qt C++ macOS 问题。我正在使用函数 .find("a word") 在多组中搜索单词,它适用于 Windows,但不适用于 mac

来自分类Dev

为什么PostgreSQL中的聚合函数不适用于布尔数据类型

来自分类Dev

为什么PostgreSQL中的聚合函数不适用于布尔数据类型

来自分类Dev

为什么exist()函数起作用,但不适用于布尔语句?

来自分类Dev

VBA查找不适用于合并的单元格

来自分类Dev

条件格式不适用于UITableView单元格

来自分类Dev

宽度不适用于表格单元格

来自分类Dev

在Java中改组对象数组:为什么此方法适用于int但不适用于我的对象?

来自分类Dev

HTML呈现问题-适用于Mozilla Firefox,但不适用于Google Chrome

来自分类Dev

SQL查询中的问题。适用于MAX,但不适用于MIN

来自分类Dev

HTML呈现问题-适用于Mozilla Firefox,但不适用于Google Chrome

来自分类Dev

对象不适用于MIT计划(不同的阿克曼函数)

Related 相关文章

  1. 1

    为什么`(c *)|(cccd)`匹配`ccc`,而不是`cccd`?

  2. 2

    php数组中的问题不适用于while

  3. 3

    Yii accessRules问题-不适用于我

  4. 4

    似乎无法弄清楚为什么DIV不适用于整个部分,PHP / HTML DIV问题

  5. 5

    IF语句问题不适用于选择

  6. 6

    我必须做些什么才能保证在aaa.jar之前先加载ccc.jar?

  7. 7

    为什么我的函数适用于矩阵但为什么不适用于向量?

  8. 8

    为什么ng-bind不适用于数组?

  9. 9

    为什么每个循环不适用于JSON数组

  10. 10

    为什么“ a或b或c”不适用于NumPy数组?

  11. 11

    为什么数组公式不适用于整个列?

  12. 12

    为什么我的for循环不适用于对象?

  13. 13

    为什么我的模板不适用于 JSONDecodable

  14. 14

    为什么我的 sudo 命令适用于 ansible 而不适用于 ansible-playbook?

  15. 15

    我的拉格朗日乘法器 matlab 代码有什么问题?

  16. 16

    贝尔曼·福特vs迪克斯特拉:在什么情况下贝尔曼·福特更好?

  17. 17

    Google表格:色标条件格式适用于C列,但不适用于B列。请帮我解决这个问题吗?

  18. 18

    Qt C++ macOS 问题。我正在使用函数 .find("a word") 在多组中搜索单词,它适用于 Windows,但不适用于 mac

  19. 19

    为什么PostgreSQL中的聚合函数不适用于布尔数据类型

  20. 20

    为什么PostgreSQL中的聚合函数不适用于布尔数据类型

  21. 21

    为什么exist()函数起作用,但不适用于布尔语句?

  22. 22

    VBA查找不适用于合并的单元格

  23. 23

    条件格式不适用于UITableView单元格

  24. 24

    宽度不适用于表格单元格

  25. 25

    在Java中改组对象数组:为什么此方法适用于int但不适用于我的对象?

  26. 26

    HTML呈现问题-适用于Mozilla Firefox,但不适用于Google Chrome

  27. 27

    SQL查询中的问题。适用于MAX,但不适用于MIN

  28. 28

    HTML呈现问题-适用于Mozilla Firefox,但不适用于Google Chrome

  29. 29

    对象不适用于MIT计划(不同的阿克曼函数)

热门标签

归档