数据结构(2): 数组
2.1 大于n/k次的元素
题目描述:给一个整数数组,找出所有出现次数大于n/3的元素。 Input: nums = [3,2,3] Output: [3]
摩尔投票法: 一般情况一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/k ⌋ 次的元素。n/k的众数最多只有k - 1个,原因:假设有k个众数,则 出现次数(⌊ n/k ⌋ +1) × \times× 众数个数 k > n。
题目描述:给一个整数数组,找出所有出现次数大于n/3的元素。 Input: nums = [3,2,3] Output: [3]
摩尔投票法: 一般情况一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/k ⌋ 次的元素。n/k的众数最多只有k - 1个,原因:假设有k个众数,则 出现次数(⌊ n/k ⌋ +1) × \times× 众数个数 k > n。
问题:将字符的前k个字符移到字符串结尾。 Input:“abcde”,2 Output:“cdeab”
三步翻转法: 将字符串分为前k位和后(n-k)位两部分,将两部分分别翻转,最后再整体翻转即可。 时间复杂度:T = O(n) 参考原文
守护进程是一类在后台运行的特殊进程,用于执行特定的系统任务。他独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。Linux系统的大多数服务器就是通过守护进程实现的。 常见的守护进程包括: