![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode 算法题详解
iEucliwood
一位非科班程序员,正在学习中...
展开
-
LeetCode189.轮转数组
给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。示例 1:输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]接口函数如下:void rotate(int* nums, int numsSize, int k){ }方法一:常规方法 时间复杂度O(N*K) 空间复杂度O(1)即轮转k个位置就是轮转k次,每一次所有元素向前移动一位。完成一次轮转,定义一个变量tmp保存数组中最后一个元素,将其他元原创 2022-05-01 19:28:28 · 249 阅读 · 0 评论 -
LeetCode消失的数字(三种解法详解)
数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?函数接口如下int missingNumber(int* nums, int numsSize){}其中nums为指向数组首元素的指针,numsSize为数组大小。方法一:位运算利用位运算中的异或,异或的位运算规则是,1^1=0,1^0=1,0^0=0,从这里能看出,异或的运算能找出两个数中不相同的位并标为1,比如两个相同的数它们的位是相同的异或为0,x^x=0,与0异原创 2022-05-01 16:46:59 · 547 阅读 · 0 评论