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;
    }
  • 相关阅读:
    Go 单元测试、基准测试、并发基准测试
    Go url编码和字符转码
    ssh 登录进入 docker container
    Python 开发
    Ethereum 源码分析之 accounts
    Ethereum 源码分析之框架
    数据库视图
    共识算法:PBFT、RAFT
    JQuery Mobile
    Android Studio
  • 原文地址:https://www.cnblogs.com/westfly/p/lost_num_in_stream.html
Copyright © 2011-2022 走看看