rabbbit
V2EX  ›  问与答

算法题考试,有道题最多只过了 35%,求个思路

  •  
  •   rabbbit · Aug 23, 2025 · 929 views
    This topic created in 281 days ago, the information mentioned may be changed or developed.

    没找到原题是哪道题,另外答题的时候看不到测试用例,只能看到通过了百分之多少。

    大概题目如下,凭记忆写的,没敢截图怕判作弊。


    数有多少个语句

    语句以;号结尾,例如 COMMON balabala "abcde"; 算一个
    语句可以换行,例如如下代码算一个

    COMMON a,
      b,
      c;
    

    语句里允许有字符串,用 "" 或者 '' 表示
    允许使用 \ 表示转义, 例如

     "abc\"de" 
    

    语句允许有注释,注释以 -- 开头一直到行尾
    字符串里的 -- 不算注释
    空语句不计入数量,例如 COMMON; ; 只算一个

    输入:

    COMMON balabal "abcde"; -- command balabal
    COMMON
      AND a,
      b;
    

    输出:

    2
    

    下面代码是我写的,最多只过了 35%,是思路不对还是看漏了题有没注意的地方?
    这个有原题或类似的题吗?

    https://gist.github.com/Aaron-Bird/677e3c87a380c9a5d6c715708222ed0a

    Supplement 1  ·  Aug 23, 2025
    忘了还有个条件:
    最后一个语句允许不用;结尾
    Supplement 2  ·  Aug 23, 2025
    知道哪写错了,唉
    hwdq0012
        1
    hwdq0012  
       Aug 23, 2025   ❤️ 1
    我写 c++的 json 序列化时其实有写过这种东西, 本质是就是对前面不是"\\"的计数, 如果计到是单数就说明在“”号里,双数就是不在" "里, 根据这个条件去判断 -- 注释和;结束就好了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2433 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 16:06 · PVG 00:06 · LAX 09:06 · JFK 12:06
    ♥ Do have faith in what you're doing.