那年庐州月光
那年庐州月光
全部文章
分类
题解(7)
归档
标签
去牛客网
登录
/
注册
那年庐州月光的博客
全部文章
(共7篇)
题解 | #[C++]数据分类处理#
这是道应用题,重在理解题意。 首先输入输出,我采用了vector<unsigned>, 因为string更便于查找,查找能直接返回索引,所以在搜索过程中全部把int转为string。</unsigned> R的排序和去重 按序搜寻,采用了一个vector<vector...
tuple
C++
应用题
vector
2021-07-06
1
494
题解 | #[C++]合唱队#
这题抛开场景,核心问题是最长递增子序列,可以参考leetcode 最长递增子序列 来理解。 总的来说,就是自左向右求出最长递增子序列的最优值dp数组,自右向左求出最长递减子序列的最优值dp数组,两者对位相加-1,其中的最大值,就是整个合唱队留在场上的人数的最大值,因此也就是出列的最小值。 dp的这部...
C++
dp
2021-07-05
57
4041
题解 | #[C++]删除字符串中出现次数最少的字符#
首先,采用unordered_map来存储这样一个统计信息,其中key为字符,value为该字符出现的序列。 第二部,先是一个循环,每次迭代寻找次数为MinTimes的字符并将原串中置换为空格,没有最小次数为MinTimes的字符,则MinTimes加1往下循环。当当前次数的所有字符都替换为空格后,...
C++
unordered_map
2021-07-05
0
546
题解 | #汽水瓶#
[C++] 汽水瓶 最简单的方法竟然是2个空瓶可以喝一瓶,所以空瓶数量除以2就是喝汽水瓶数最多的方案。 无语了。 我的思路是迭代,三空瓶喝一瓶,然后会多一空瓶,一直到瓶数小于3,特殊情况即2瓶时,可以再喝一瓶,且不再有空瓶。 #include<iostream> using name...
C++
智力题
2021-07-02
1
618
题解 | #简单密码#
[C++] 简单密码 首先,输入没有空格,所以直接cin。其次,这道题是要替换小写字母为指定数字,并把大写转小写。对于小写转数字,直接采用一个unordered_map来存放映射关系,如果是小写字母则直接替换;对于大写字母,则有个小技巧,任意字母与空格字符进行按位或运算能变为小写,当然你也可以直接3...
C++
unordered_map
bit
2021-07-02
0
529
题解 | #密码验证合格程序#
[C++] 密码检验合格程序 输入输出不多赘述,和之前的大同小异。判断合格有三点: 长度大于8,很好判断 至少三种类型,采用正则表达式来查找,因为C++采用的ECMAScript文法,和之前学习的正则表达式本身的语法不太一样,所以也学习了下C++的正则写法。这里注意regex_match和rege...
C++
regex
unordered_map
2021-07-01
0
492
题解 | #简单错误记录#
[C++] 简单错误记录 输入采用了std::getline来输入整行,采用istringstream流来分解文件名和行号,采用vector<tuple>来存储记录元素。 分解并简化文件名采用的是find_last_of来分割子串,查找数组中可能有重复的记录采用find_if来实现,其中...
tuple
C++
lambda
2021-07-01
0
681