转载地址:http://blog.sina.com.cn/s/blog_65c209580100u00j.html
==============================================================================
有1到10w这10w个数,去除2个并打乱次序,如何找出那两个数
描述:有1到10w这10w个数,去除2个并打乱次序,如何找出那两个数。(不准用位图!!)
方法一、位图解决:
位图的方法如下
假设待处理数组为A[10w-2]
定义一个数组B[10w],这里假设B中每个元素占用1比特,并初始化为全0
for(i=0;i <10w-2;i++)
{
B[ A[i] ]=1
}
那么B中为零的元素即为缺少的数据
这种方法的效率非常高,是计算机中最常用的算法之一
其它方法:
求和以及平方和可以得到结果,不过可能求平方和运算量比较大(用64位int不会溢出)
#include <stdio.h>
#include <stdlib.h>
#define SIZE 8 //自己测试,数字少一些
int main(void) {
int arr_mixed[] = { 0, 5, 4, 7, 2, 3 };
int arr_original[SIZE] = { 0 };
int idx;
for ( idx = 0; idx < sizeof(arr_mixed) / sizeof(arr_mixed[0]); idx++) {
arr_original[arr_mixed[idx]] = 1;
}
for ( idx = 0; idx < SIZE; idx++) {
if (arr_original[idx] == 0) {
printf("arr_original[%d]: %d\n", idx, idx);
}
}
}
方法二:
首先计算1到10w的和,平方和。
然后计算给定数字的和,平方和。
两次的到的数字相减,可以得到这两个数字的和,平方和。
所以我们有
x + y = n
x^2 + y^2 = m
解方程可以得到x和y的值。
分享到:
相关推荐
1. "学位英语次序打乱.sql" - 这个文件可能是用SQL语言创建的一个数据库,里面存储了打乱顺序的英语单词或短语。用户可能需要通过编写SQL查询来恢复它们的原始顺序,以此进行英语复习。 2. "mysql+已复习的word.txt...
这时就需要以相同的顺序打乱两个list,那么在python中如何实现呢?可以通过设置相同的随机种子,再shuffle的方式来实现。 代码如下: import random randnum = random.randint(0,100) random.seed(randnum)
《易语言编辑框内容次序打乱源码》是一个关于编程技术的资源,主要针对易语言这一编程环境,涉及到了字符串处理和用户界面交互的核心概念。易语言是中国自主研发的一种简单易学的编程语言,旨在降低编程门槛,让更多...
get unique random integer from 0, ... 是把0到n-1这些数随机打乱得到的一个数字序列 类似matlab中的randperm函数,只是matlab是从1到n python 随机矩阵,随机整数矩阵 见:https://github.com/gongchunye/randomperm
"易语言编辑框内容次序打乱"是一个具体的技术问题,涉及到对编辑框中的文本内容进行随机排序。下面我们将深入探讨这个问题及其解决方案。 首先,我们需要了解易语言的基本语法和结构。易语言是一种以中文为关键字的...
在本项目"jQuery可以自由打乱拼图次序游戏.zip"中,我们主要探讨的是一个基于jQuery技术实现的互动拼图游戏。这个游戏允许用户自由打乱拼图的顺序,提供3*3和4*4等多种不同的组合模式,旨在增强用户的参与度和娱乐性...
交换`则是交换两个元素的位置。在实际使用时,你需要将`...`替换为实际的数组元素,并根据需要调整数组类型。 在提供的压缩包文件"易语言随机打乱数组源码"中,你应该能找到一个实现了上述逻辑的完整源代码文件。你...
5. **用户交互**:游戏的目的是让用户找到1到25的数字,因此需要有一个用户界面来显示打乱的数组,并接收用户的输入。这可能涉及到图形用户界面(GUI)的设计,比如使用Tkinter(Python)、JavaFX、Qt(C++)等库。 ...
在C/C++编程中,对数据进行排序并输出排列名次是一个常见的任务,特别是在处理考试成绩、比赛排名等场景。本篇文章将详细讲解如何在不打乱原始记录次序的情况下,实现这一功能。 首先,我们需要理解什么是“不打乱...
在弹出的对话框中,设置“列”为B列,并选择“升序”或“降序”排序,这取决于你希望数字从小到大还是从大到小排列。通常,选择“降序”会让原始顺序更随机。 4. **删除辅助列**(可选): 如果你不关心辅助列中的...
- 多层感知器(MLP):构建了一个包含输入层、两个100个节点的隐藏层和一个10个节点的输出层(对应10个数字类别的概率)。隐藏层使用ReLU激活函数,输出层采用Softmax进行分类。 - 卷积神经网络(LeNet-5):LeNet...
test和train两个文件夹分别放置了1万个测试数据和6万了训练数据 在两个文件夹中都分别放置有: 1.有0~9九个数字分类放置的文件夹 2.有全部图片放置在一起的文件夹 3.有所有图片的图片名称和对应0~9分类标签的csv文件...
易语言源码易语言编辑框内容次序打乱源码.rar 易语言源码易语言编辑框内容次序打乱源码.rar 易语言源码易语言编辑框内容次序打乱源码.rar 易语言源码易语言编辑框内容次序打乱源码.rar 易语言源码易语言编辑框...
这个代码段首先定义了一个文本数组,然后通过循环遍历并交换元素实现了打乱排序。最后,打印出打乱后的新顺序,以验证算法是否正确执行。 在实际应用中,你可能需要根据具体需求调整代码,例如,从文件读取文本数组...
这个项目对于想要增强网页交互性和视觉吸引力的开发者来说非常实用,同时也提供了一个基础,供有需求的开发者进行二次修改和定制。 首先,让我们深入了解Canvas 2D API。它是HTML5的一部分,允许JavaScript直接操作...
这种方法的好处是,如果设置了相同的随机数种子,每次运行代码时打乱的顺序都是固定的,这有助于实验的复现。使用随机数种子的方法如下: ```python import numpy as np data = np.array([[1,1],[2,2],[3,3],[4,4]...
它在一个3x3的网格上进行,其中有一个空位,其余八个格子分别填充了1到8的数字。目标是通过合法的移动(上下左右滑动相邻的数字)来重新排列数字,使得它们按照1到8的顺序排列,空位位于右下角。在这个"八数码的打乱...
这个类至少包含两个属性:花色(suit)和数字(value)。在Java中,可以这样定义: ```java public class Card { private String suit; // 花色:红桃、黑桃、梅花、方块 private int value; // 数字:2-10, J...
答案是D,解析是n个点最多n(n+1)/2条边,要不连通,至少去掉n-1条边n(n+1)/2-(n-1)≥28,n最小为8。 试题9:一些数字可以颠倒过来看,例如0、1、8颠倒过来看还是本身,6颠倒过来是9,9颠倒过来看还是6,其他数字...