精华内容
下载资源
问答
  • 则每次统计的个数为2^31 以512的内存,每个以2bit的空间就能存储足够的信息了 1,申请512M内存,作为一个是否存在的标记flag,全清0 2,设置记数器 count,清0 3,读入一个,如果>=0则查看

    问题描述如下:
    有2.5亿个整数(这2.5亿个整数存储在一个数组里面,至于数组是放在外存还是内存,没有进一步具体说明);
    要求找出这2.5亿个数字里面,不重复的数字的个数
    另外,可用的内存限定为600M;
    要求算法尽量高效,最优;

     

    解决方案:

     

    其实分两次算,先算<0部分再算>0部分
    则每次统计的数的个数为2^31
    以512的内存,每个数以2bit的空间就能存储足够的信息了

    1,申请512M内存,作为一个数是否存在的标记flag,全清0
    2,设置记数器 count,清0
    3,读入一个数,如果>=0则查看相应flag:如果为0,flag置1,count加1;如果为1,flag置2,count减1;如果为2,不处理
    4,重复3,直到所有整数处理完毕
    5, 清除所有的flag(不清除count)
    6,读入一个数,如果<0则查看相应flag:如果为0,flag置1,count加1;如果为1,flag置2,count减1;如果为2,不处理
    4,重复6,直到所有整数处理完毕

     

    嘿,同志们,俺就没搞清楚18楼的算法:
      A:int的值域有4G之多,使用512M,那512M中的每个BYTE必需要能表示8个数字,而BYTE只能表示最多8位。
      B:如果每BYTE中,需要2bit来表示一个数字的存储,则每BYTE只是4个数字,而512M只能是2G个数字,则对int的值域表示不完。

    所以说我没看懂。请各位解答一下。

     

    所以需要分大于0和小于0来进行计算,这样也是为了节省空间

    展开全文
  • 【问题描述】对任意输入一个字符串A,数里面包含了多少个字母,输出个。 如:输入 5df*8e7d4+fe45d 输出 zimu:7 下面是我一开始的程序: #include<bits/stdc++.h>//这个是一个万能库 using namespace ...

    这个是我在做题的时候碰到的。
    先看看一下原题:
    【问题描述】对任意输入一个字符串A,数一数里面包含了多少个字母,输出个数。
    如:输入 5df*8e7d4+fe45d
    输出 zimu:7
    下面是我一开始的程序:

    #include<bits/stdc++.h>//这个是一个万能库
    using namespace std;
    int main(){
    	char c[1000];
    	int zimu=0;
    	gets(c);//输入一串字符
    	int len=strlen(c);
    	for(int i=1;i<=len;i++){//判断是不是字母
    		if(c[i]>='a'&&c[i]<='z')zimu++;
    		if(c[i]>='A'&&c[i]<='Z')zimu++;
    	}
    	printf("zimu: %d",zimu);//输出字母个数
    }
    

    结果如下:
    在这里插入图片描述

    然而,一个评测平台却显示答案错误。

    在这里插入图片描述
    很显然结果少了1。
    之后我就在输出变量后面+1,答案就对了。

    #include<bits/stdc++.h>
    using namespace std;
    int main(){
    	char c[1000];
    	int zimu=0;
    	gets(c);
    	int len=strlen(c);
    	for(int i=1;i<=len;i++){
    		if(c[i]>='a'&&c[i]<='z')zimu++;
    		if(c[i]>='A'&&c[i]<='Z')zimu++;
    	}
    	printf("zimu: %d",zimu+1);//输出+1
    }
    

    结果:
    在这里插入图片描述
    居然通过了,然而我没有找到原因,希望看到的朋友伸出援助之手。

    2020.12.12
    时隔一年,再次打开这个问题,我用getline解决了,但是仍旧找不到gets()的问题。下面是用getline解决的代码:

    #include<bits/stdc++.h>
    using namespace std;
    int main(){
    	string str;
    	int zimu=0;
    	getline(cin,str);
    	for(int i=0;i<str.size();i++){
    		if(str[i]>='a'&&str[i]<='z')zimu++;
    		if(str[i]>='A'&&str[i]<='Z')zimu++;
    	}
    	cout<<"zimu:"<<zimu;
    }
    
    展开全文
  • 二进制数数

    2019-12-11 21:39:24
    统计[L,R]区间内的所有在二进制下包含的“1”的个数之和。  如5的二进制为101,包含2个“1”。 输入格式  第一行包含2个L,R 输出格式  一个S,表示[L,R]区间内的所有在二进制下包含的“1”的个数之和。 ...

    问题描述
      给定L,R。统计[L,R]区间内的所有数在二进制下包含的“1”的个数之和。
      如5的二进制为101,包含2个“1”。
    输入格式
      第一行包含2个数L,R
    输出格式
      一个数S,表示[L,R]区间内的所有数在二进制下包含的“1”的个数之和。
    样例输入
    2 3
    样例输出
    3
    数据规模和约定
      L<=R<=100000;

    用循环,把L~R间的每个数转成二进制,找里面有几个1。
    十进制整数转换为二进制整数采用"除2取余,逆序排列"法。
    具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
    具体代码如下:

    #include<iostream>
    using namespace std;
    main(){
    	int l,r,temp,ans=0;
    	cin>>l>>r;
    	for(int i=l;i<=r;i++){
    		temp=i;
    		do{
    			ans+=temp%2;//取余2,要么为1,要么为0,所以直接加就好啦
    			temp/=2;//temp等于除2后的商
    		}while(temp);
    	}
    	
    	cout<<ans;
    }
    
    展开全文
  • UVa1225 数字

    2019-07-11 16:32:00
    思路:从1到N,取出每个数字的各位,放在统计每个数字出现次数的数组里面。 代码: 1 #include <stdio.h> 2 #include <memory.h> 3 int main() 4 { 5 int n,a,num,res[10]; 6 7 ...

    题目描述:前n个整数写在一起,问0~9各出现多少次。

    思路:从1到N,取出每个数字的各位,放在统计每个数字出现次数的数组里面。

    代码:

     1 #include <stdio.h>
     2 #include <memory.h>
     3 int main()
     4 {
     5     int n,a,num,res[10];
     6     
     7     scanf("%d", &n);
     8     while(n > 0){
     9         scanf("%d", &a);
    10         memset(res, 0, sizeof(res));
    11         for(int i = 1; i <= a; ++i){
    12             num = i;
    13             while(num > 0){
    14                 res[num%10]++;
    15                 num /= 10;
    16             }
    17         }
    18         for(int i = 0; i < 9; ++i){
    19             printf("%d ", res[i]);
    20         }
    21         printf("%d\n",res[9]);
    22         --n;
    23         }
    24     
    25 }

     

    转载于:https://www.cnblogs.com/patrolli/p/11170893.html

    展开全文
  • 找数组中的重复数字

    2019-03-21 17:24:18
    不修改数组找出重复的数字 题目描述:在一个长度为n+1的数组里的所有数字都在1到n的范围内,所以数组中至 少有一个数字是重复的。...二分查找法: 如:{2,3,5,4,3,2,6,7} 先二分,先统计在1-4里面的数字个...
  • 求十进制乘积里面有多少个零,只需要要分解因数,统计有多少个2和5 所以求六进制,则统计有多少个2和3; 试题G:冷门进制 20’ 描述 六进制对于研究素数是很有用的,因为所有的素数,除了22和33以外,在六进制下的个...
  • 题目描述 统计一个数字在排序数组中出现的次数。 示例 1 输入: nums = [5,7,7,8,8,10], target = 8 输出: 2 解题方法 二分法 ps:python, list.count(a)可以得到数组list里面a出现的次数
  • 题目描述 统计一个数字在数组中出现的次数 输入 [1,2,3,3,3,3,4,5],3 返回值 4 分析 1.在数组中对指定k值做判断,如果相等于数组里面的值,就让累加器加1 代码实现 public class Solution { public int ...
  • 8.9.4 统计节点 265 8.10 应用 265 8.10.1 设置信号放大器 265 8.10.2 在线等价类 268 8.11 参考及推荐读物 275 第9章 优先队列 276 9.1 引言 276 9.2 线性表 277 9.3 堆 278 9.3.1 定义 278 9.3.2 最大堆的插入 ...
  • 直方图java

    2020-06-14 10:07:00
    给定一个非负整数组,统计里面每一个的出现次数。我们只统计到数组里最大的。 假设Fmax(Fmax<10000)是数组里最大的,那么我们只统计{0,1,2…Fmax} 里每个出现的次数。 输入描述 第一行 n 是数组的大小...
  • 给定一个非负整数组,统计里面每一个的出现次数。我们只统计到数组里最大的。 假设 Fmax(Fmax<10000)是数组里最大的,那么我们只统计{0,1,2…Fmax}里每个出现的次数。 输入格式 第一行n是数组的大小...
  • 1115: 直方图(c++)

    2020-07-07 19:45:41
    给定一个非负整数组,统计里面每一个的出现次数。我们只统计到数组里最大的。 假设 Fmax(Fmax<10000)是数组里最大的,那么我们只统计{0,1,2…Fmax}里每个出现的次数。 【输入】 第一行n是数组的大小...
  • 1115:直方图(C C++)

    2020-10-13 09:19:12
    给定一个非负整数组,统计里面每一个的出现次数。我们只统计到数组里最大的。 假设 Fmax(Fmax<10000)是数组里最大的,那么我们只统计{0,1,2.....Fmax}里每个出现的次数。 【输入】 第一行n是数组的...
  • NOI 1767 八进制小数

    2018-12-07 16:42:09
    package One; /****让人生气啊,因为输出时需要自动输出有效位数,找到bigdecimal的tostring可以做到** ...比如,八进制里面的0.75等于十进制里面的0.963125 (7/8 + 5/64)。所有小数点后位数为n的八进...
  • 2765:八进制小数 ...比如,八进制里面的0.75等于十进制里面的0.963125 (7/8 + 5/64)。所有小数点后位数为n的八进制小数都可以表示成小数点后位数不多于3n的十进制小数。 你的任务是写一个程序,把(0
  • 03:八进制小数

    2017-03-12 18:57:00
    比如,八进制里面的0.75等于十进制里面的0.963125 (7/8 + 5/64)。所有小数点后位数为n的八进制小数都可以表示成小数点后位数不多于3n的十进制小数。你的任务是写一个程序,把(0,1)之间的八进制小...
  • 力扣刷题

    2021-04-04 11:18:48
    然后就是开始处理哈希表里面统计结果了; 例如, 5出现了8次, 那么至少得2*(5+1)只兔子; 如果5出现了6次呢? 至少需要6只兔子; 如果5出现了3次呢? 还是6只兔子; 当val出现了t次, 如果t%(val+1) == 0, ...
  • 比如,八进制里面的0.75等于十进制里面的0.963125 (7/8 + 5/64)。所有小数点后位数为n的八进制小数都可以表示成小数点后位数不多于3n的十进制小数。 你的任务是写一个程序,把(0, 1)中的八进制
  • 题目描述 给定一个长度为n的整数序列,请找出最长的不包含重复的的...桶排序里面的计数思想,统计各个元素出现的次数 双指针算法,这里i,j的移动具有单调性,即只能朝同一个方向,不然会产生矛盾,不在这里做证明,
  • 编程班老师搞了一个有 N (1 ) 个正整数 I (1 ^60) 的表,叫 同学们去统计每个数里面数字(0,1,2,3,4,5,6,7,8,9)(注 0 为偶数)的奇偶数 字个。写一个程序读入 N 个整数,统计每个整数的数字奇偶个。 ...
  • 介绍: ...//这个是跳转地址 修改成自己的跳转连接,如暂时不需要跳转,删除4-8行代码 ...标题词默认5 , 可相应减少 描述和关键字也一样 其他看的懂的自己改 泛解析域名到服务器ip 上传文件到服务器 新建对
  • 一、题目描述本题是C Primer Plus(5版)第8章编程题第一道题,题目如下:二、题目及思路分析从题述来看,有如下几个关键点:有这么一个文本文件读入文件中的文本统计文件中字符判断文件的结尾以上4点都做到了,此...
  • 2.1基本算法之枚举

    千次阅读 2018-02-08 11:29:41
    1749:数字方格查看提交统计提问总时间限制: 1000ms 内存限制: 65536kB描述如上图,有3个方格,每个方格里面都有一个整数a1,a2,a3。已知0 &lt;= a1, a2, a3 &lt;= n,而且a1 + a2是2的倍数,a2 + a3是3...
  • 该压缩包是最新的python教程,里面包含基本的python用法以及简单的项目实例,高清PDF以及配套书籍代码,欢迎大家下载学习! 第一章,数字,字符串,和元组,将会看到不同类型的数字,工作 使用字符串,使用元组,并...
  • 绘制地区区域内疫情感染者柱状图需要先得到地区(四川)的各地区的疫情感染人数统计数据(表5-2-1)。 表 5-2-1 地区区域内疫情感染者柱状图接口定义 序号 接口定义 参数1 参数2 1 def ...
  • 1、店铺设置 2、商品管理 3、客户管理 4、网店促销 5、订单管理 6、支付与配送 7、报表统计 8、内容反馈 9、报表统计 10、内容反馈 1.店铺营业管理 1.1 最近七天销售统计 1.2 待处理事务 1.2.1等待发货订单 ...
  • 1、店铺设置 2、商品管理 3、客户管理 4、网店促销 5、订单管理 6、支付与配送 7、报表统计 8、内容反馈 9、报表统计 10、内容反馈 1.店铺营业管理 1.1 最近七天销售统计 1.2 待处理事务 1.2.1等待发货订单...
  • 计步器的实现

    2017-09-23 00:48:43
    * 5.圆环中下[Walking]等文字 */ private void drawTextType(Canvas canvas, float centerX) { Paint mTypePaint = new Paint(); mTypePaint.setTextSize(dipToPx(22)); mTypePaint.setTextAlign(Paint.Align....
  •  筛选的功能描述(如图3-5所示):为了编写查找功能的代码,增加菜单项“按员工编号查找” (ID_Search) ,映射的COMMAND消息处理函数为OnSearch()。接收查询字符串->关闭原来的表单->将查询条件赋给过滤器->打开经过...

空空如也

空空如也

1 2 3 4 5
收藏数 89
精华内容 35
关键字:

统计描述里面5数