zoukankan      html  css  js  c++  java
  • 丢失的数字(面试题)

    找一个数据流中丢失的一个数字。该数据流中一直是0--------100000000(比较大)的数,求被丢失的数字。

    @modified昨天很同学讨论的时候,题目需要加一个限制性的条件——N为四的倍数,即通过三个数,找出丢失的数字。

    #include <stdio.h>
    #include
    <stdlib.h>
    #define max_size 10000
    void swap(int *x,int *y)
    {
    int tmp;
    tmp
    = *x;
    *x = *y;
    *y = tmp;
    }
    int main(int argc,char *argv[])
    {

    int array[max_size];
    int i = -1;
    int sum= 0;
    while(++i < max_size)
    array[i]
    = i;
    i
    = atoi(argv[1]);
    //i = 45;
    swap(array+i,array+max_size-1);

    for(i=0;i < max_size -1; ++i)
    {

    if((i%4 == 0)||(i%4 == 3))
    sum
    += array[i];
    else
    sum
    -= array[i];
    }
    printf(
    "sum = %d\t,random = %d\n",sum,array[max_size-1]);
    //if(array[max_size-1] < 0)
    //array[max_size-1] = -array[max_size-1];
    if((array[max_size-1]%4 == 2) ||(array[max_size-1]%4 == 1))
    sum
    += 2 *(max_size -1);
    else
    sum
    = -sum ;
    printf(
    "sum = %d 余数 = %d\n",sum,array[max_size-1]%4);
    return 0;
    }
  • 相关阅读:
    Angular2+学习第1篇 简介
    JS:ES5数组基本操作
    git常用操作命令
    URL-Routing
    uid-datepicker
    元素隐藏 css
    Angular2+学习第2篇 cli 环境搭建过程
    DRF 07
    DRF小练习 04
    DRF小练习 02
  • 原文地址:https://www.cnblogs.com/westfly/p/lost_num_in_stream.html
Copyright © 2011-2022 走看看