社区
C#
帖子详情
求一次循环既查找出复行的最优算法! ---------------------- 急
anantnt203120
2005-01-07 09:51:00
请指教:
在一个表格的列中有一int列会有重复,如何只循环一次就将有重复的列标记出。描述即可!
...全文
204
24
打赏
收藏
求一次循环既查找出复行的最优算法! ---------------------- 急
请指教: 在一个表格的列中有一int列会有重复,如何只循环一次就将有重复的列标记出。描述即可!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhiang75
2005-01-27
打赏
举报
回复
如果Int 列得数值是有估算得范围得得话也可以用桶排序找出,这是最快得方法了.
anantnt203120
2005-01-13
打赏
举报
回复
top
hanyaocsdn
2005-01-07
打赏
举报
回复
帮你顶
anantnt203120
2005-01-07
打赏
举报
回复
没有难度,只是求一个最高效的算法!
myhero811104
2005-01-07
打赏
举报
回复
gzyx
zhiang75
2005-01-07
打赏
举报
回复
我想楼主是不是已经按此思路已经实现了,呵呵.
zhiang75
2005-01-07
打赏
举报
回复
看看这个
using System;
using System.Collections;
namespace ConsoleApplication1
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
class Data
{
public int key=0;
public object obj=null;
public bool diploid=false;
}
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
Data[] data=new Data[100];
//要在此对data赋值
Hashtable hashtable = new Hashtable();
for(int a=0;a<data.Length;a++)
{
Data temp=(Data)hashtable[data[a].key];
if(temp==null)
{
hashtable.Add(data[a].key,data[a]);
}
else
{
temp.diploid=true;
data[a].diploid=true;
hashtable.Remove(temp.key);
hashtable.Add(data[a].key,data[a]);
}
}
}
}
}
zhiang75
2005-01-07
打赏
举报
回复
恩,这个问题有难度的啊,呵呵,我想想.
anantnt203120
2005-01-07
打赏
举报
回复
举个例子说明:
行号 数值
1 1
2 2
3 2
4 1
5 3
6 4
那么我就要求标记出
行号 数值 标记
1 1 true
2 2 true
3 2 true
4 3
5 1 true
6 4
zhiang75
2005-01-07
打赏
举报
回复
楼主的意思是说
int[] b={1,1,2,3,4,4,5,5,6,6,9,0,10}
整理完应该是
int[] b={2,3,9,0,10}
吗?
还是
int[] b={1,2,3,4,5,6,9,0,10}
请说明
DeliverGuy
2005-01-07
打赏
举报
回复
跟踪先~
zhiang75
2005-01-07
打赏
举报
回复
我想我的方法在数据量大的情况下会比al.Contains(你的表格[i]))
这个方法快的,因为哈西表是不使用循环做重复检测的,它的取Key时间应该是一个常数,在数据量大的情况下这一点相当重要.
anantnt203120
2005-01-07
打赏
举报
回复
都忽律了一个重要环节:
首先在list里不存在插入list里,继续循环发现有重复,则标记,但是在list中与它重复的记录没有标记,与要求不付。
用hashtable是一个办法,hashtable里保存判断重复的列的值和行号,有重复就将hashtable中的记录和没插入的记录都标记,有人有更好的办法吗?
brightheroes
2005-01-07
打赏
举报
回复
那第一次插入的就无法标记,要求将所有重复的都标记,你漏掉了第一个。
......
uffeng
2005-01-07
打赏
举报
回复
到底是行 还是列?
zhiang75
2005-01-07
打赏
举报
回复
Hashtable hashtable = new Hashtable();
for(int i = 0; i <你的表格.count i ++)
{
try
{
hashtable.Add(你的表格[i],你的表格[i])
}
catch(Exception e)
{
Console.WriteLine(你的表格[i],已经存在);
}
}
hyspeter
2005-01-07
打赏
举报
回复
我重新说一下思路,首先要定义个一个hashtable,然后循环表格,
在hashtable里查找表格里的内容,如果有标记,没有则插入hashtable,
在hahtable内部有个内部循环,他用的是快表查询(起码delphi是这样)比自己的循环快多了
hyspeter
2005-01-07
打赏
举报
回复
老哥,我说循环的表格,第一个格和谁重复呀
hyspeter
2005-01-07
打赏
举报
回复
叫hashtable
anantnt203120
2005-01-07
打赏
举报
回复
回复人: hyspeter(独钓寒江) ( ) 信誉:100 2005-01-07 09:55:00 得分: 0
定义个list,,循环-》首先查找-》如果有则标记,没有则插入。
那第一次插入的就无法标记,要求将所有重复的都标记,你漏掉了第一个。
加载更多回复(4)
大白话EM
算法
--从此爱上EM迭代
目录如下: 1.1EM
算法
之回顾最大似然估计 1.2EM
算法
之回顾贝叶斯估计 1.3EM
算法
之回顾K-means
算法
1.4EM
算法
之
算法
目标引入 1.5EM
算法
之目标函数转换--利用Jensen不等式 1.6EM
算法
之目标函数
求
解--关于Q(z, θ)的...
算法
分析-动态规划(
最优
二叉搜索树)
前面说过动态规划最典型的就是解决
最优
化问题的(具有
最优
子结构的
最优
化问题),
最优
二叉
查找
树就是一个典型的
最优
化问题。问题描述:给定一个n元素的中序序列,它可以有卡特兰数个不同形状的二叉排序树。(卡特兰...
动态规划4-
最优
二叉
查找
树
前面说过动态规划最典型的就是解决
最优
化问题的(具有
最优
子结构的
最优
化问题),
最优
二叉
查找
树就是一个典型的
最优
化问题。 问题描述: 给定一个n元素的中序序列,它可以有卡特兰数个不同形状的二叉排序树。...
【数据结构与
算法
】->
算法
->地图软件的
最优
路线是如何计算的?
最短路径
算法
Ⅰ 前言Ⅱ 一些基本分析Ⅲ 迪杰斯特拉
算法
(Dijkstra)A. 原理及实现B. 时间复杂度C. Dijkstra
算法
在实际开发中的优化 Ⅰ 前言 在我前面的文章中,我讲了两种图的搜索
算法
,深度优先搜索和广度优先搜索...
Python 字符串转ASCII码
最优
方法 ------ ord()
实际工作中,我们有时需要将单字符串转对应的 ASCII 数值 ,怎么办呢?Python内置函数 ord() 提供了解决方法。下面我们一起来学习一下。
C#
110,499
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章