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

20 天前
 rabbbit

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

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


数有多少个语句

语句以;号结尾,例如 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

577 次点击
所在节点    问与答
2 条回复
hwdq0012
20 天前
我写 c++的 json 序列化时其实有写过这种东西, 本质是就是对前面不是"\\"的计数, 如果计到是单数就说明在“”号里,双数就是不在" "里, 根据这个条件去判断 -- 注释和;结束就好了
hwdq0012
20 天前

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1154450

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX