![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
yangguanglukou1
计算机技术,计算机科学与技术
展开
-
有序数组去重,返回新数组长度
1.有序数组不允许有重复元素 思路:定义2个变量i,j ,俗称快慢指针 1.初始值:慢指针i从下标为0的元素开始,快指针j从下标为1 的元素开始 2比较nums[i]和nums[j]是否相等,若相等,则i指针不变,j指针后移;若不等,保存该元素到新数组列表中,即先让 i 指针指向新的元素位置,再保存新元素,最后j指针后移。 3.重复步骤2. /*入参为nums有序数组,n为数组长度*/ int removeDuplications(int *nums,int n) { int i=0,j原创 2021-06-27 18:36:39 · 596 阅读 · 0 评论 -
python求2数之和
1.题目 给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target 的那两个整数,并返回它们的数组下标。 2.示例 输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/two-sum 著作权归领扣网络所有。商业转载请联系官方授...原创 2021-06-27 17:43:00 · 2874 阅读 · 0 评论 -
异或运算的应用
1.一个数组里除了一个数字之外,其他的数字都出现了两次。请写程序找出这个只出现一次的数字。 将该数组元素逐个异或,得到结果就是只出现了1次的数字。 2.一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 思路:1.整个数组元素逐个异或,得到的是这2个数字的异或结果。2.既然2个数字不同,那么着两个数字至少在同1个bit位上有以下情况:一个数字该bit位为0,一个数字bit位为1。以此位为划分标准,将原数组重新划分为2组:1组为该bit位为1的子数组,1组为该b原创 2021-06-27 12:35:59 · 177 阅读 · 0 评论