判断重复数字,不使用集合和字典

随机产生2组各10个数字的列表,要求

取值范围[10,20],

统计20个数字中,多少不同的数字

2组比较,不重复的数字几个,分别是

重复的数字几个,分别是

以下方法为先开辟列表,再对应的数字的位置计数,不使用集合和字典

###repeated.3
import random
l = []#once
n = []#repeated
m = [0] * 20

for i in range(10):
    a = random.randrange(1,21)
    print(‘{}‘.format(a),end = ‘ ‘)
    m[a-1] += 1
print()

for j in range(20):
    if m[j]:
        if m[j] == 1:
            l.append(j + 1)
        else:
            n.append(j + 1)

print(‘repeating number: {}\nonce number: {} ‘.format(n,l))

使用比较后在相应的计数列表内相应位置加一,计算出数字出现的次数。

nums = [random.randint(1,20) for _ in range(10)]
l=[0]*len(nums)
seamnum = []
diffnum = []
for i in range(len(nums)):
    if l[i] != 0:
        continue
    count=0
    for j in range(i+1,len(nums)):
        if l[j] != 0:
            continue
        if nums[i] == nums[j]:

            l[j] += 1
            count += 1
    if count:
        count += 1
        seamnum.append((nums[i],count))
    else:
        diffnum.append(nums[i])
print(seamnum,diffnum)

原文地址:https://www.cnblogs.com/rprp789/p/9484493.html

时间: 2024-11-10 13:27:11

判断重复数字,不使用集合和字典的相关文章

python 数据类型: 数字Nubmer / 字符串String / 列表List / 元组Tuple / 集合Set / 字典Dictionary

#python中标准数据类型 数字Nubmer 字符串String 列表List 元组Tuple 集合Set 字典Dictionary #单个变量赋值countn00 = '10'; #整数countn01 = '100.0' #浮点countn02 = "双权"; #字符串countn03 = '10'; #数字#print("整数 = "+countn00,"浮点 = "+countn01,"字符串 = "+countn0

笔试算法题(29):判断元素范围1到N的数组是否有重复数字 & 计算整数的7倍

出题:一个长度为N的数组,其中的元素取值范围是1到N,要求快速判断数组是否存在重复数字: 分析: 解法1:如果N个元素的范围都是在1到N,所以如果没有重复元素,则每一个位置恰好可以对应数组中的一个元素之,通过将当前元素k交换到其本身应该在的位 置k,也就是k=array[i], array[array[i],并判断是否存在duplication或者已经就绪.时间复杂度O(N),空间复杂度O(1): 解法2:由于元素取值范围确定,可以使用BitMap将数组元素映射到对应的位置,如果一个位置对应了两

封装解构,集合,字典,内建函数和简单选择排序相关知识及习题

封装 将多个值使用逗号分割,组合在一起本质上,返回一个元组,只是省掉了小括号python特有语法,被很多语言学习和借鉴 解构 把线性结构的元素解开,并顺序的赋给其它变量左边接纳的变量数要和右边解开的元素个数一致 转置矩阵 方阵利用封装解构完成代码矩阵先开辟空间再利用封装解构完成代码利用enumerate函数得到索引值完成代码 集合 可变的 . 无序的 . 不重复 的元素的集合set的元素要求必须可以hash元素不可以索引set可以迭代set增加 add(elem)增加一个元素到set中,如果元素

Swift 数组、字符串、集合与字典详解

今天我们来看几个最基本的数据结构:数组,字符串,集合和字典. 数组 数组是最基本的数据结构.Swift编程语言中改变了以前Objective-C时代NSMutableArray和NSArray分开的做法,统一到了Array唯一的数据结构.下面是最基本的一些实现. 1 2 3 4 5 6 7 8 9 10 11 // 声明一个不可修改的数组 let nums = [1, 2, 3] let nums = [Int](count: 5, repeatedValue: 0) // 声明一个可以修改的数

2761: [JLOI2011]不重复数字

2761: [JLOI2011]不重复数字 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1770  Solved: 675[Submit][Status] Description 给出N个数,要求把其中重复的去掉,只保留第一次出现的数. 例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 6 5 4. Input 输入第一行为正整数T,表示有T组数据. 接下来每组数据包括两行,

集合-字典 方法练习

- (void)viewDidLoad { [super viewDidLoad]; //用一个或多个键值对初始化一个字典对象,以值,键,值,键,值,键,...,nil的顺序 NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:@1,@"key1",@2,@"key2",@3,@"key3" ,nil]; NSLog(@"dict:%@",dict

OC15数字字符串和集合

#import <Foundation/Foundation.h> @interface AddressCard : NSObject -(void)setName:(NSString *) theName; -(void)setEmail:(NSString *) theEmail; -(void)setfirstName:(NSString *)first lastName:(NSString *)last; //联系4 -(NSString *)firstName; -(NSString

J2EE判断重复的数据

import java.util.ArrayList; import java.util.List; import org.junit.Test; /** * 判断重复的数据 * @author YangKai * */ public class Demo { @Test public void a () { List<Integer> list = new ArrayList<Integer>(); List<Integer> list2 = new ArrayLis

what&#39;s the python之基本运算符及字符串、列表、元祖、集合、字典的内置方法

计算机可以进行的运算有很多种,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.字符串和列表的算数运算只能用+和*,字典没有顺序,所以不能进行算数运算和比较运算.比较运算中==比较的是值,is比较的是id.比较运算只能在同种类型下进行比较.字符串的比较是按照顺序依次进行比较.逻辑运算的顺序先后为要用括号来表示. 基本运算符如下: 算术运算 以下假设a=10,b=20 比较运算 以下假设a=10,b=20 赋值运算 逻辑运算  成员运算 身份运算 what's the 内