博客
关于我
丢失的三个元素、网格走法
阅读量:685 次
发布时间:2019-03-17

本文共 575 字,大约阅读时间需要 1 分钟。

问题描述:我们有一个从1到10000的连续数字的数组。由于一次操作导致丢失三个元素,并且顺序被打乱。我们需要找出这三个丢失的元素,重新排列成一个新数字,并计算其除以7的余数。

解决方案:以下是解决这个问题的详细步骤:

  • 初始化完整数组:生成一个从1到10000的数组,其中每个位置i对应数字i+1。
  • 读取输入数据:输入数据为一行,包含9997个数字,空格隔开。
  • 比较数组:遍历输入数据,找出不符合预期的位置,即位置i上的数字不等于i+1。这些位置就是丢失的三个元素。
  • 收集丢失元素:将这三个位置上的数字收集起来,并按照从小到大的顺序重新排列,形成一个新数字。
  • 计算余数:将新数字作为字符串处理,计算其整体值除以7的余数。
  • 示例:假设丢失的数字为336,10,8435。

    步骤说明:

    • 初始化完整数组:索引0对应数字1,索引1对应数字2,依此类推,索引9998对应数字9999,索引9999对应数字10000。
    • 输入数据可能缺少这三个数字,并且顺序打乱。
    • 比较输入数据与完整数组,找出三个不匹配的索引位置。
    • 将这些位置上的数字提取出来。
    • 按照从小到大排列这三个数字,例如10,336,8435,拼接成新数字103368435。
    • 计算新数字除以7的余数:103368435 % 7 = 2。

    这是一种高效的方法,可以在最短时间内找出丢失的三个元素并得到结果。

    转载地址:http://ivyhz.baihongyu.com/

    你可能感兴趣的文章
    Netty工作笔记0007---NIO的三大核心组件关系
    查看>>
    Netty工作笔记0008---NIO的Buffer的机制及子类
    查看>>
    Netty工作笔记0009---Channel基本介绍
    查看>>
    Netty工作笔记0011---Channel应用案例2
    查看>>
    Netty工作笔记0013---Channel应用案例4Copy图片
    查看>>
    Netty工作笔记0014---Buffer类型化和只读
    查看>>
    Netty工作笔记0020---Selectionkey在NIO体系
    查看>>
    Vue踩坑笔记 - 关于vue静态资源引入的问题
    查看>>
    Netty工作笔记0024---SelectionKey API
    查看>>
    Netty工作笔记0025---SocketChannel API
    查看>>
    Netty工作笔记0027---NIO 网络编程应用--群聊系统2--服务器编写2
    查看>>
    Netty工作笔记0028---NIO 网络编程应用--群聊系统3--客户端编写1
    查看>>
    Netty工作笔记0034---Netty架构设计--线程模型
    查看>>
    Netty工作笔记0050---Netty核心模块1
    查看>>
    Netty工作笔记0057---Netty群聊系统服务端
    查看>>
    Netty工作笔记0060---Tcp长连接和短连接_Http长连接和短连接_UDP长连接和短连接
    查看>>
    Netty工作笔记0063---WebSocket长连接开发2
    查看>>
    Netty工作笔记0070---Protobuf使用案例Codec使用
    查看>>
    Netty工作笔记0072---Protobuf内容小结
    查看>>
    Netty工作笔记0074---handler链调用机制实例1
    查看>>