- 博客(3)
- 收藏
- 关注
原创 P1308 [NOIP2011 普及组] 统计单词数
如果只是单词的一部分,则往后继续搜索,直到正确匹配,第一次匹配特判记录位置。(其实当前状态就是上一个字符的状态)那么在遍历数组的时候拿一个变量记录下来当前是什么状态,可以用0代表当前是空格状态,1代表是字母状态。当如果当前状态是1,而现在却遇到空格,那么就计数器加一,同时要将状态改为0,如果当前状态是00,现在的字符却是字母,就只将状态改为1。不断地遍历数组,每次记录状态,根据不同状态进行分类进行下一步运算,时间复杂度低。其实这句话可以省略,因为反正都是空格状态,改它是一样的。是单词的尾,所以要减长度。
2023-11-16 09:40:59
146
1
原创 洛谷P1125
解决方案:从头开始,把第一个字符视作基准,用s.fond来寻找这个字符,每找到一次就进行计数cnt并且将其删除,找到找不到为止。此段代码提供了一个思路,当我们要找相同元素时,不妨对元素进行排序,使其相同元素放在一起。此处先使用了排序,是相同字符排在一起,从前往后遍历,出现出一样的字符就计数重置,否则一直计数,记一次数刷新一次最值。可以看出,使用了一个循环来遍历字符串,使用了ASCII码来进行索引,数组中存放的是这个字符的出现次数。反正他就是一个字符串,统计字符出现的次数,想了一想,觉得可以用。
2023-11-15 22:00:20
104
原创 洛谷p1957
这里用到了一个字符判断函数isalpha来判断第一个是否是字母,如果是字母,就将其存入k,以此表示状态,在输入数字。定义一个函数,来记录数字的位数,但是需要注意的是,结果要求是数字长度,因此需要特判小于等于0的数字,其长度为位数加一。这段代码运用了isalpha这个函数,来判断第一个是否为字母,如果false,数字已经是字符了,就用atoi强制转换,解决方案:运用判断语句,true则说明有字母,运用一个sym来表示状态并且刷新字符串,重新接收后面的数字。,提供了一个判断点,重置之后输入仍在缓冲区。
2023-11-15 21:59:28
124
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人