当前位置: 首页 > article >正文

初始数据结构(加深对旋转的理解)

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。icon-default.png?t=N7T8https://leetcode.cn/problems/rotate-array/submissions/

与字符数组的左旋的思路1一模一样。

数组nums包含从0n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?

注意:本题相对书上原题稍作改动

示例 1:

输入:[3,0,1]
输出:2

示例 2:
输入:
[9,6,4,2,3,5,7,0,1]

输出:

该题一定要注意时间复杂度。


int missingNumber(int* nums, int numsSize){
  int i,j,ans=0;;
  for(i=0;i<numsSize;i++){
      ans^=nums[i];
  }
  for(j=0;j<=numsSize;j++){
    ans^=j;
  }
  return ans;
}

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。icon-default.png?t=N7T8https://leetcode.cn/problems/missing-number-lcci/submissions/

示例 1:

输入: nums = [1,2,3,4,5,6,7], k = 3
输出: [5,6,7,1,2,3,4]
解释:
向右轮转 1 步: [7,1,2,3,4,5,6]
向右轮转 2 步: [6,7,1,2,3,4,5]
向右轮转 3 步: [5,6,7,1,2,3,4]

示例 2:

输入:nums = [-1,-100,3,99], k = 2
输出:[3,99,-1,-100]
解释: 
向右轮转 1 步: [99,-1,-100,3]
向右轮转 2 步: [3,99,-1,-100]

 代码实现:

void reverse(int*nums,int left,int right){
    while(left<right){
        nums[left]=nums[left]^nums[right];
        nums[right]=nums[left]^nums[right];
        nums[left]=nums[left]^nums[right];
        left++;
        right--;
    }
}
void rotate(int* nums, int numsSize, int k) {
    if(numsSize<k){
        k%=numsSize;
    }
    reverse(nums,numsSize-k,numsSize-1);
    reverse(nums,0,numsSize-k-1);
    reverse(nums,0,numsSize-1);
}


http://www.kler.cn/a/154387.html

相关文章:

  • Infisical开源密钥管理平台实战指南
  • java 读取 有时需要sc.nextLine();读取换行符 有时不需要sc.nextLine();读取换行符 详解
  • python-文件内容操作
  • Neo4j Desktop 和 Neo4j Community Edition 区别
  • 如何使用Django写个接口,然后postman中调用
  • spark 设置hive.exec.max.dynamic.partition不生效
  • Python自动化——原生警告框和自定义弹窗的区别
  • 智能优化算法应用:基于共生生物算法无线传感器网络(WSN)覆盖优化 - 附代码
  • 【嵌入式-51单片机】常见位运算和数据类型以及sbit使用
  • 5个被忽视的Linux实用命令
  • 《第一行代码:Android》第三版4.2常用控件的使用方法(2)
  • 求整数序列中出现次数最多的数
  • 深入理解同源限制:网络安全的守护者(下)
  • Linux 磁盘分区处理
  • JPEG 协议中英文对照
  • 分布式ID生成框架Leaf升级踩坑
  • vue 前端实现login页登陆 验证码
  • Vue3-pnpm包管理器创建项目
  • Python库Selenium自动化使用详细教程
  • 洛谷 P6704 [COCI2010-2011#7] GITARA
  • 错误处理(9)
  • ASP.NET版本WOL服务的使用
  • 算法通关村第三关—数组基本操作(青铜)
  • 05:2440----代码重定义
  • VMware下载安装教程
  • Python 3 使用 read()、readline()、readlines() 函数 读取文件