一个列表,找出只出现一次的元素

list_a = [1, 2, 2, 3, 4, 4, 4, 5, 5, 6]
list_b = []
for i in list_a:
	if list_a.count(i) == 1:
		list_b.append(i)
print(list_b)

  

更简洁方法:异或

时间: 2024-08-11 03:31:09

一个列表,找出只出现一次的元素的相关文章

编写一个程序找出100~999之间所有的水仙花数

如果一个3位数等于其各位的立方和,称该数为水仙花数. 如,所以407是一个水仙花数,编写一个程序找出100~999之间所有的水仙花数. 1 #include<stdio.h> 2 #include<stdlib.h> 3 //判断水仙花数,是则返回1 4 int isNarcissus(int n); 5 6 int main() 7 { 8 int i; 9 for(i = 100; i < 1000; i++) 10 if(isNarcissus(i)) 11 print

使用一个函数找出一个整型数组中的最大值和最小值

/***************************************************** 知识点:bool类型,命名空间,输入输出 题目要求: 使用一个函数找出一个整型数组中的最大值和最小值 *****************************************************/ #include<stdlib.h> #include<iostream> using namespace std; namespace CJJ // 定义命名空间

找出数组中唯一的重复元素

[问题] 1-1000放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次. 每个数组元素只能访问一次,设计一个算法,将它找出来:不用辅助存储空间,能否设计一个算法实现? [代码] #include <stdio.h> #include <stdlib.h> #include <string.h> /*根据异或法的计算方式,每两个相异的数执行异或运算之后,结果为1: 每两个相同的数异或之后,结果为0,任何数与0异或,结果仍为自身. 所以数组a[N]

水贴王之续,找出数组里出现频率最高的元素

找出数组里出现频率最高的元素 个人信息:就读于燕大本科软件工程专业 目前大三; 本人博客:google搜索"cqs_2012"即可; 个人爱好:酷爱数据结构和算法,希望将来从事算法工作为人民作出自己的贡献; 博客内容:水贴王问题之续 博客时间:2014-5-12; 编程语言:Java ; 编程坏境:Windows 7 专业版 x64; 编程工具:jdk,eclipse x64; 制图工具:office 2007 powerpoint; 硬件信息:7G-3 笔记本; 真言: 痛苦的活着比

找出两个数组的相同元素,最优算法?

在做新旧接口交替过程中,遇到了老接口和新接口json数据有些不一致的情况,需要比较两个json对象,把相同的元素赋其中一个json对象中变量的值.而且其中一个json最后输出格式还需要改变下属性名,思来想去觉得和"找出两个数组相同元素"很像,所以做下总结. "有一个数组A{0,2,3,5}和一个数组B{3,5,6,2,1,1},找出这两个数组相同元素." 一开始抽象出这道题时,脑海里浮现出最简单粗暴的方法,逐一比较. //最简单粗暴的做法,逐个比较,时间复杂度为(B

找出两个数组相同的元素,并且对应的个数一样

/** * 找出两个数组相同的元素,并且对应的个数一样 * @param args */ public static void getSameNumberCount(String[] a, String[] b) { Map<String, Integer> map = new HashMap<String, Integer>(); for (int i = 0; i < a.length; i++) { if (!map.containsKey(a[i])) { map.p

编程之美-----在一个整型数组里找出只出现过一次的那两个数

一.一个数组里除了一个数字之外,其他的数字都出现了两次 用异或来解 #include <iostream> using namespace std; int main() { int T; int n,m; while(cin>>T,T){ cin>>n; while(--T){ cin>>m; n=m^n; } printf("%d\n",n); } return 0; } 扩展: 一个整型数组里除了两个数字之外,其他的数字都出现了两次

在数组中找出只出现一次的两个数

来来来,看一道面试题!!! 题目是这样叙述的: 在一个数组中除两个数字只出现1次外,其它数字都出现了2次, 要求尽快找出这两个数字. 要求:时间复杂度为O(N),空间复杂度为O(1). 这该怎么解决呢??? 请看我的分析: 将这道题简单化: 一个数组中只有一个数字出现一次,其他数字都是成对出现的,这时我们可以根据异或运算符的特性:A^B^A = B; 0 ^ A = A:我们可以将这个数组的全部元素依次做异或运算,最终结果就是那个只出现一次的数字. 如果这个数组中出现两个不同的数字,而其他数字均

136 Single Number 数组中除一个数外其他数都出现两次,找出只出现一次的数

给定一个整数数组,除了某个元素外其余元素均出现两次.请找出这个只出现一次的元素.备注:你的算法应该是一个线性时间复杂度. 你可以不用额外空间来实现它吗? 详见:https://leetcode.com/problems/single-number/description/ class Solution { public: int singleNumber(vector<int>& nums) { int n=nums.size(); if(n==0||nums.empty()) { r