首页 > 编程语言 >C#数组去重

C#数组去重

时间:2024-03-16 20:22:35浏览次数:27  
标签:arr Console C# ++ len int 数组 new

(1)去重

int[] arr = { 1, 4, 3, 1, 6, 5, 6 };
int[] arr2 = arr.Distinct().ToArray();
for (int i = 0; i < arr2.Length; i++)
{
Console.WriteLine(arr2[i]);
}
Console.ReadKey();

(2)

//提取重复的

int[] arr = { 1, 4, 3, 1, 6, 5, 6 };
var arr3 = arr.GroupBy(x => x).Where(g => g.Count() > 1).Select(y => y.Key).ToList();
for (int i = 0; i < arr3.Count; i++)
{
Console.WriteLine(arr3[i]);
}
Console.ReadKey();

(3)

//找出重复的元素个数

var query = arr.GroupBy(x => x).Where(g => g.Count() > 1).Select(y => new { 元素 = y.Key, 重复个数 = y.Count() }).ToList();
for (int i = 0; i < query.Count; i++)
{
Console.WriteLine(query[i]);
}
Console.ReadKey();

去重算法

static void Main(string[] args) {
int[] a = {1,5,3,5,1,8 };
int[] b=Del(a);
for (int i = 0; i < b.Length; i++){
Console.WriteLine(b[i]);
}
Console.ReadKey();
}

static int[] Del(int[] a) {
int len = 0;
int[]b=new int[a.Length];
for (int i = 0; i < a.Length; i++,len++){
b[len] = a[i];
for (int j = i+1; j < a.Length; j++){
if (a[i]==a[j]){
len--; break;
}
}
}
int[] new_a = new int[len];
for (int k = 0; k < len; k++) {
new_a[k] = b[k];
}
return new_a;
}



标签:arr,Console,C#,++,len,int,数组,new
From: https://www.cnblogs.com/jigeqiu/p/18077532

相关文章

  • Dictionary计算字符出现的次数
    stringstr="两只老虎,两只老虎,跑得快,跑得快。一只没有耳朵,一只没有尾巴,真奇怪,真奇怪。";Dictionary<char,int>dic=newDictionary<char,int>();for(inti=0;i<str.Length;i++){if(!dic.ContainsKey(str[i])......
  • Tailwind CSS 使用指南
    0x01概述(1)简介TailwindCSS官网:https://www.tailwindcss.cn/TailwindCSS是一个CSS框架,使用初级“工具”类创建布局如Bootstrap等传统CSS框架,其使用的类通常与组件直接相关;然而,Tailwind则采用了不同的方法,它将类作为工具集合,让用户能够自由组合这些工具来构建个性......
  • Elasticsearch
    ElasticsearchLucene,Solr,ElasticSearch比较Lucene,Solr,和Elasticsearch是三个与搜索相关的开源项目,它们之间存在紧密的联系,但又有一些区别。以下是它们的比较:Lucene:Lucene是一个Java编写的全文检索引擎库,提供了强大的文本搜索和索引功能。它是一个基础库,提供了......
  • 浅浅了解一下图像分割(pytorch框架)
    1、图像分割是什么         图像分割分类是对图像中属于特定类别的像素进行分类的过程,因此图像分割可以认为是按像素进行分类的问题。        传统的图像分割算法均是基于灰度值的不连续和相似的性质。而基于深度学习的图像分割技术则是利用卷积神经网络,......
  • 【C语言】结构体
    ......
  • provsvc.dll文件丢失导致程序无法运行问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个provsvc.dll文件(挑选合适的版本文件)把它放......
  • Windows7系统consent.exe文件丢失问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个consent.exe文件(挑选合适的版本文件)把它放......
  • 实验1 C语言开发环境使用和数据类型,运算符,表达式
    #include<stdio.h>intmain(){printf("O\n");printf("<H>\n");printf("II\n");return0;}#include<stdio.h>intmain(){printf("O\n");printf("<H>\n");print......
  • 十进制与BCD码互相转换
    BCD到十进制:#include<stdio.h>intmain(){ intdecimalNumber=35;//要转换为BCD码的十进制数 inttens=decimalNumber/10; intones=decimalNumber%10; //将十位和个位转换为BCD码 charbcd=(tens<<4)|ones; //00110000 printf("十进制数%......
  • Linux各大发行版安装Docker
    在当今的数字化时代,Docker作为一种强大的容器技术,已经成为了开发、部署和管理应用程序的重要工具。无论是Ubuntu、CentOS还是Debian系统,掌握Docker的安装和使用方法都具有重要的现实意义。本文将详细介绍如何在这三个系统上安装Docker,并提供具体的步骤和示例,希望能为读者......