求助一个算法,用C#或者PHP的语言都可以

Lisen_1987 2010-11-05 01:32:46
处理一段二维数组,该数组结构如下:
A[0]={A,1,10}
A[1]={A,1,12}
A[2]={A,1,20}
A[3]={B,2,11}
A[4]={B,2,30}
A[5]={C,3,10}
A[6]={C,3,13}
要求将A数组中,前两列字段数据一致的数组合并为一条,比如A[0],A[1],A[2]的前两列字段都为A,1,所以这三个就合并在A[0],即A[0]={A,1,42},然后将A[3]之后的位置全部前移到A[0]之后,以此类推,最后得出的数据为
A[0]={A,1,42}
A[1]={B,2,41}
A[2]={C,3,23}
...全文
121 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyfhz 2010-11-05
  • 打赏
  • 举报
回复
如果可以用数据库的话,就是一简单的分类汇总查询
beargo 2010-11-05
  • 打赏
  • 举报
回复
是否可以不用算法..用个Dictionary<string,int>
前两位为KEY.后面数值相加...
沪php攻城师 2010-11-05
  • 打赏
  • 举报
回复
<?php
$A[0]=array("A",1,10);
$A[1]=array("A",1,12);
$A[2]=array("A",1,20);
$A[3]=array("B",2,11);
$A[4]=array("B",2,30);
$A[5]=array("C",3,10);
$A[6]=array("C",3,13);
$tmp = array();
foreach ($A as $v)
{
$t = $v[0]."_".$v[1];
if(isset($tmp[$t]))
{
$tmp[$t][2] += $v[2];
}
else
{
$tmp[$t] = $v;
}
}
$A = array_values($tmp);
?>

33,028

社区成员

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

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