题目:判定是否互为字符重排
解题方法:
- 用哈希表
unordered_map<char, int>
,记录s1
中字符出现数,并于s2
做对比 - 用
int count[256]
的数组来完成上述工作(桶计数) - 没想到的方法:将
s1
和s2
内部按照字符升序排序,最后判定两者是否相等即可
2的时间复杂度为\(O(N)\),因为\(N <= 100\),因此可以理解为\(O(1)\)
unordered_map<char, int>
,记录s1
中字符出现数,并于s2
做对比int count[256]
的数组来完成上述工作(桶计数)s1
和s2
内部按照字符升序排序,最后判定两者是否相等即可2的时间复杂度为\(O(N)\),因为\(N <= 100\),因此可以理解为\(O(1)\)
分为机考和面试两个部分,机考240/600,面试三轮,前两轮技术,最后一轮简历,积累了一点自信,但也看到了差距,之后要好好刷题,争取更加从容,加油!
动态规划实在是同重要了,而且饱含了计算机之美,虽然多次被虐,但还是决定要认真牢记!
排序算法中有非常经典的算法思想蕴含其中,本篇主要实现了几种经典的排序算法,希望常常回看,彻底牢记!