网站开发公司人员配置,西安网站建设制作需要哪些费用,品牌的互联网推广,邯郸注册网络科技公司136. 只出现一次的数字
技巧类型题目#xff0c;通过异或运算实现
169. 多数元素
三种常见解法#xff1a;1. 哈希2. 排序3. 投票法
75. 颜色分类
单指针 两次遍历#xff1a;第一次遍历把所有0都交换到前面#xff0c;记录最后一个0的位置index#xff0c;第二次遍…
136. 只出现一次的数字
技巧类型题目通过异或运算实现
169. 多数元素
三种常见解法1. 哈希2. 排序3. 投票法
75. 颜色分类
单指针 两次遍历第一次遍历把所有0都交换到前面记录最后一个0的位置index第二次遍历从index1开始把所有1都交换到前面双指针 一次遍历记录存放0的位置left存放2的位置right从左向右遍历并交换i之前的位置一定全部为0right之后的位置一定全部为2所以遍历终止条件为i right
31. 下一个排列 字典序对于单个字符来说通常依据其 ASCII 码值或特定字符编码规则进行排序。 例如在 ASCII 码中数字字符0 到 9、大写字母A 到 Z、小写字母a 到 z依次排列其中数字字符的 ASCII 码值 大写字母 小写字母。 解题思路 1. 从后往前找到第一组递增的的相邻序列 nums[i] nums[i1]; 2. 在这组相邻序列之后找到右边第一个j满足nums[i] nums[j]; 3. 交换nums[i], nums[j]; 4. 翻转 nums.begin() 1 i, nums.end()。
287. 寻找重复数
解题思路 假设重复的数字为target: 1. 对于[1, target-1]中的任意一个数字i在nums中满足nums[j] i的元素个数count[i]一定满足count[i] i; 2. 对于[target, n]中的任意一个数字i在nums中满足nums[j] i的元素个数count[i]一定满足count[i] i; 3. 利用二分查找的思想如果count[mid] mid则mid一定不是重复元素且[1, mid]中的元素都不重复继续找[mid1, right]; 4. 如果count[mid] mid则target一定满足target mid继续找[left, mid-1];