社区
C#
帖子详情
求一次循环既查找出复行的最优算法! ---------------------- 急
anantnt203120
2005-01-07 09:51:00
请指教:
在一个表格的列中有一int列会有重复,如何只循环一次就将有重复的列标记出。描述即可!
...全文
240
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)
用A*
算法
实现迷宫寻路的
最优
解
本文介绍了如何使用A*
算法
实现迷宫寻路的
最优
解,对比了BFS和DFS的优缺点,并详细阐述了A*
算法
的思路,包括成本计算、开放列表与封闭列表的使用,以及具体实现过程。最后提供了C语言的代码实现作为参考。
【
算法
精练】二分
查找
算法
总结
本文分享二分
查找
算法
的做题经验。指出二分
查找
不局限于有序数组,有“二段性”即可用。介绍基础版二分
查找
及模板,还讲解寻找左右端点的进阶版二分,分析
循环
判断条件和
求
中间点的细节,最后总结模板并给出相关题目练习。
优化的
求
众数方法 - 摩尔投票
算法
(
算法
思想+
求
众数的三种方法+摩尔投票
算法
改进版
求
众数 II)
本文介绍了摩尔投票
算法
,该
算法
能在线性时间O(n)和空间复杂度O(1)下
查找
元素序列中最多的元素。用此
算法
解决LeetCode的
求
众数和
求
众数 II 问题,还给出普通方法、排序法等
求
众数的方式,并详细阐述了摩尔投票
算法
及其改进版的实现步骤。
最优
组合
算法
本文介绍了一种
最优
组合
算法
的实现方式,旨在找出数组中组合之和不超过10且组合数量最少的元素集合。通过遍历数组并利用冒泡排序
查找
最小元素来组合,最终输出满足条件的所有组合。
最优
二叉
查找
树
本文介绍如何根据给定的关键字序列和搜索概率,构建期望
查找
代价最小的
最优
二叉搜索树。通过计算节点权重和选择
最优
节点组合,实现树结构的动态优化。
算法
代码示例展示了如何使用浮点数组和概率数组来实现这一过程。
C#
111,132
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章