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

杭电OJ BestCoder28期1001Missing number问题(小技巧偏移法)

1.先描述一下问题:

小yb有一个排列,但他不小心弄丢了其中的两个数字。现在他告诉你他现在手上还有哪些数字,需要你告诉他他丢了哪两个数字。
输入描述
有多组数据,第一行为数据组数T(T10)。
对于每组数据,第一行为一个正整数n,表示yb现在手上有的数字个数。 在接下来一行有n个整数,保证所有数字互不相同且合法。 1n1,000
输出描述
对于每组数据,输出两个数字,为排列缺少的两个数字,小的在前。

2.解题思路

该问题可以用一个数组存储输入排列,然后用一个偏移指针处理每次输入数据移动的情况。(为了处理出现 1 3 这种序列的情况,需要在输入数据的末尾加入一个0
具体的移动情况如下图所示:


3.代码如下

  #include <stdio.h>
  #include <stdlib.h>

  #define MAX_NUM 1000 + 10

  int main()
  {
    int i,j,num_case,num_number,number[MAX_NUM];

    int offset = 0,count = 0; //偏移

    scanf("%d",&num_case);

    for( i = 1; i <= num_case; i++)
    {
      offset = 0;
      count = 0;
      scanf("%d",&num_number);
      for( j = 0; j < num_number; j++)
      {
        scanf("%d",&number[j]);
      }

      number[j] = 0; //处理当出现 1 3 这种排列的状况而使offset偏移溢出

      for( j = 0; j < num_number + 2; j++)
      {
        if(count >= 2)
        {
          break;
        }
        if( number[offset] == j + 1 )
        {
          offset++;
        }
        else
        {
          printf("%d ",j + 1);
          count++;
        }
      }
      printf("\n");
    }
  }

 

 

转载于:https://www.cnblogs.com/daimadebanyungong/p/4268228.html

相关文章:

  • Ecshop系统二次开发教程及流程演示
  • C#的百度地图开发(一)发起HTTP请求
  • python学习
  • MySQL STRAIGHT_JOIN
  • 数据结构之线性结构
  • lucene查询排序结果原理总结
  • Azure 中的多个 VM NIC 和网络虚拟设备
  • poj 1236 scc强连通分量
  • Javascript模块化编程(一):模块的写法
  • leetcode[44]Wildcard Matching
  • scanf,sscanf利用format跳过干扰的空格
  • 无线路由器之间桥接组网
  • busybox中的tftp使用
  • 庙庙湖
  • AOJ 0009 Prime Number(求素数)
  • #Java异常处理
  • [ JavaScript ] 数据结构与算法 —— 链表
  • [数据结构]链表的实现在PHP中
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • java中的hashCode
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • Vue2.x学习三:事件处理生命周期钩子
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 翻译:Hystrix - How To Use
  • 给github项目添加CI badge
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 容器服务kubernetes弹性伸缩高级用法
  • 入口文件开始,分析Vue源码实现
  • 走向全栈之MongoDB的使用
  • 函数计算新功能-----支持C#函数
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #stm32驱动外设模块总结w5500模块
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)visual stdio 书签功能介绍
  • (转)winform之ListView
  • (转)平衡树
  • .Family_物联网
  • .NET 命令行参数包含应用程序路径吗?
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .net和php怎么连接,php和apache之间如何连接
  • .NET牛人应该知道些什么(2):中级.NET开发人员
  • /proc/interrupts 和 /proc/stat 查看中断的情况
  • ?.的用法
  • [ SNOI 2013 ] Quare
  • [ vulhub漏洞复现篇 ] ECShop 2.x / 3.x SQL注入/远程执行代码漏洞 xianzhi-2017-02-82239600
  • [100天算法】-实现 strStr()(day 52)
  • [1204 寻找子串位置] 解题报告