请教一个二维数组去除重复数值的算法

葬爱家族马斯特 2009-10-23 03:03:42
例如一个二维数组
$arr(0=>array(id=>1,name=>'zhangsan'),
1=>array(id=>2,name=>'lisi'),
2=>array(id=>3,name=>'lisi')
)
现在想把重复的值去掉,变成
$arr(0=>array(id=>1,name=>'zhangsan'),
1=>array(id=>2,name=>'lisi'))

求个思路,各位大虾小虾尽量放马过来吧,COME ON
...全文
226 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lilgtoit 2009-10-24
  • 打赏
  • 举报
回复
代码 是C 代码
和PHP 差不多 你应该可以看懂

主要你要看循环的步骤 和遍历判断 我这代码没有检测 所以 你就看下我的思路就好了
lilgtoit 2009-10-24
  • 打赏
  • 举报
回复
如array[8][11]
for(;i<8;i++)
{ for(;j<11;j++)
{
if(array[i][j]==array[i][j+1])
array[i][j+1]=0;//0等于重复的字段

}
}
for(;i<8;i++)
{
for(;j<11;j++)
{

for(;k<11;k++)
if(array[i][j]!=0&&array[i+1][k]!=0)
if(array[i][j]==array[i+1][k])
array[i+1][k]=0

}
}

我没检测 这是大概的思路

第一次 遍历 先把 每1一维自己的2维是否有重复 有重复则将2维的重复字段 负0 表示重复
第二次 遍历 把每维不重复的字段拿出来 并跟下一维所有的二维进行重复判断 如有重复将负为0 表示重复
  • 打赏
  • 举报
回复
..去PHP版问吧
C1053710211 2009-10-23
  • 打赏
  • 举报
回复
直接按照你的键值进行字典排序 排序的时候就去掉了
或者把键值通过一个哈希函数做变换把重复的去掉
都是很普通的想法俄

33,010

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧