求助一个算法,大神都看过来。我觉得很有挑战性

qq_37021087 2016-12-13 09:13:02

如图示范
不想用循环对比累加思路
有无别的简单的命令,或者折中思路?
...全文
1428 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
MSN3000 2016-12-14
  • 打赏
  • 举报
回复
确定是二维数组?或者是其它结构存储的?
ForestDB 2016-12-14
  • 打赏
  • 举报
回复
可以考虑下CUDA,GPU,ML之类的方向。
一如既往哈 2016-12-14
  • 打赏
  • 举报
回复
引用 7 楼 qq_37021087 的回复:
[quote=引用 6 楼 Tiger_Zhao 的回复:] 百万循环改为一句语句(调用一个函数)不等于执行的时间就从百万降到了一。 图样图森破,少年!
我觉得有的内置函数是人家微软发明出来的,做的肯定比我们自己写的,要先进好多吧。,,[/quote] 写代码,循环必不可避免;人家内置的函数确实比我们大部分人写的效率高很多,估计那是对数据结构和算法等进行过多次优化的结果,看看人家excel2007,100多万行,16000多列,那么多的单元格,管理的挺好的。当然,我们也不能妄自菲薄.... 不知道你的2维数组怎么来的,产生数据的时候做一次加法,增加一列还是很简单的。
赵4老师 2016-12-14
  • 打赏
  • 举报
回复
无profiler不要谈效率!!尤其在这个云计算、虚拟机、模拟器、CUDA、多核 、多级cache、指令流水线、多种存储介质、……满天飞的时代!
qq_37021087 2016-12-13
  • 打赏
  • 举报
回复
引用 13 楼 Chen8013 的回复:
既然你在11楼这样“表态”了,我能说的也应该只有这些了。 自己看着办吧。
大神你好。我刚仔细看图,是横向100万行,竖向100列。 如果循环对比,那就最少要循环100万次 是否可以换个思路考虑? 你看,第一列,是10100011001100.。。这样的标准数字,能不能将第一列整体看成一个100万位的数字?=X1 然后第2列看成是第2个数字X2? 这样看的话,一共有100个数字。 那么我是不是可以这样理解。 x1+x2+x3.....+x9=W1 x10+x11+..x19=w2 这样一共有10个W 然后10个W再相加,=Q 那么这个Q就是我所需的。 这样处理的话,是不是计算量只有100次呢。和100万次的计算量,比起来。。。。 不知道这样的思路行不行
舉杯邀明月 2016-12-13
  • 打赏
  • 举报
回复
既然你在11楼这样“表态”了,我能说的也应该只有这些了。 自己看着办吧。
舉杯邀明月 2016-12-13
  • 打赏
  • 举报
回复
不是“用循环最快”,而是你这样的问题只适合用循环来处理! 这种问题“用循环”是必然的! 至于“总共需要多少时间”,主是看“要做多少事”,而不是看用没用循环。 但是,“循环”过程中的“每完成一步”要消耗多少时间,那就是看你如何去“规划、设计”的问题了。 针对“同一组数据”处理后达到同一个目的,也许张三的代码要10ms、李四的代码要15ms,  这是各人的“编程技术水平”、解决思路与过程(这个又是间接的由“编程水平”决定)的问题,  跟“用不用循环”没有直接关系。
qq_37021087 2016-12-13
  • 打赏
  • 举报
回复
引用 10 楼 Chen8013 的回复:
[quote=引用 5 楼 qq_37021087 的回复:] [quote=引用 1 楼 Chen8013 的回复:] 这种怎么可能不用“循环”!!! 难道用“循环”就是复杂的代码了??? 好吧,你自己“用眼睛看、自己去数”,这样“代码都不用写”,哪用什么循环…………
大神你好,因为100万行循环并且计算出来,估计要耗时几毫秒,但是这样我程序要重复处理这样的步骤达到10万次,。。那么累加时间就是几个小时了,,,想找个更简单的办法[/quote] 建议你把需要解决的问题按“实际情况”描述一下,你这“换一种方式来表达”,未必贴合客观事实。 并且,很可能你的“解决方案”就已经走上了一条“错误的路”、你还强行把别人带进“陷阱中”之后再去解决问题! [/quote] 大神你好, 我们只就事论事,就情况论情况,既然提出了这个问题,就是以这个问题为基础讨论是否有更好的办法,其它的都不考虑 如果都觉得循环来处理是最好最快的,那就没法了。
舉杯邀明月 2016-12-13
  • 打赏
  • 举报
回复
引用 5 楼 qq_37021087 的回复:
[quote=引用 1 楼 Chen8013 的回复:] 这种怎么可能不用“循环”!!! 难道用“循环”就是复杂的代码了??? 好吧,你自己“用眼睛看、自己去数”,这样“代码都不用写”,哪用什么循环…………
大神你好,因为100万行循环并且计算出来,估计要耗时几毫秒,但是这样我程序要重复处理这样的步骤达到10万次,。。那么累加时间就是几个小时了,,,想找个更简单的办法[/quote] 建议你把需要解决的问题按“实际情况”描述一下,你这“换一种方式来表达”,未必贴合客观事实。 并且,很可能你的“解决方案”就已经走上了一条“错误的路”、你还强行把别人带进“陷阱中”之后再去解决问题!
舉杯邀明月 2016-12-13
  • 打赏
  • 举报
回复
引用 7 楼 qq_37021087 的回复:
[quote=引用 6 楼 Tiger_Zhao 的回复:] 百万循环改为一句语句(调用一个函数)不等于执行的时间就从百万降到了一。 图样图森破,少年!
我觉得有的内置函数是人家微软发明出来的,做的肯定比我们自己写的,要先进好多吧。,,[/quote] 这个结论,对你来说可能是有很接近“100%”的置信度,   但对“别人”来说,这是很可能“不靠谱的结论”了。
舉杯邀明月 2016-12-13
  • 打赏
  • 举报
回复
外国的月亮就是要比中国的圆,对吧!!! 你用的计算机,估计操作系统也是Windows吧,  难道Windows系统的漏洞、Bug还少吗!
qq_37021087 2016-12-13
  • 打赏
  • 举报
回复
引用 6 楼 Tiger_Zhao 的回复:
百万循环改为一句语句(调用一个函数)不等于执行的时间就从百万降到了一。 图样图森破,少年!
我觉得有的内置函数是人家微软发明出来的,做的肯定比我们自己写的,要先进好多吧。,,
Tiger_Zhao 2016-12-13
  • 打赏
  • 举报
回复
百万循环改为一句语句(调用一个函数)不等于执行的时间就从百万降到了一。
图样图森破,少年!
qq_37021087 2016-12-13
  • 打赏
  • 举报
回复
引用 1 楼 Chen8013 的回复:
这种怎么可能不用“循环”!!! 难道用“循环”就是复杂的代码了??? 好吧,你自己“用眼睛看、自己去数”,这样“代码都不用写”,哪用什么循环…………
大神你好,因为100万行循环并且计算出来,估计要耗时几毫秒,但是这样我程序要重复处理这样的步骤达到10万次,。。那么累加时间就是几个小时了,,,想找个更简单的办法
qq_37021087 2016-12-13
  • 打赏
  • 举报
回复
引用 2 楼 Tiger_Zhao 的回复:
循环就是最简单的代码! 如果不用代码来解决问题,倒真是“很有挑战性”的问题。出门右转是小学……
循环是很耗时的一个东西吧。。。例如一个一维数组 a(1000000),里面存的数字符,现在要将所有字符取取出来组成一起 如果你用循环 FOR I=0 TO 999999 取字符 NEXT I 如果不用循环,就是一句话 字符=join(a()) 所以我想在2维数组上也大概类似的思路。。。不用循环。
赵4老师 2016-12-13
  • 打赏
  • 举报
回复
查表法
Tiger_Zhao 2016-12-13
  • 打赏
  • 举报
回复
循环就是最简单的代码!
如果不用代码来解决问题,倒真是“很有挑战性”的问题。出门右转是小学……
舉杯邀明月 2016-12-13
  • 打赏
  • 举报
回复
这种怎么可能不用“循环”!!! 难道用“循环”就是复杂的代码了??? 好吧,你自己“用眼睛看、自己去数”,这样“代码都不用写”,哪用什么循环…………
舉杯邀明月 2016-12-13
  • 打赏
  • 举报
回复
引用 19 楼 qq_37021087 的回复:
结果一样的啊。 举例简单点来说 X1=10101 X2=11100 用循环得到法得到的结果是 W=21201 而直接相加的结果 W=X1+X2=21201
你在16楼提到的是“两个很长的字符串”, 而这儿“简单点”的是“位数很少”的两个整数而已! 这根本就不是“同一类”的东西,能进行直接比较??? 就算是“有限位数”的整数吧,按你在“主贴”中的描述,你得进行“100万个”或“100个”数的“按位累加”, 请问你能“用一个10进制位”表示100以内的数值(甚至“100万”以内的数值)??? 我看你自己连最根本的“逻辑关系”都没理清楚吧…………
无·法 2016-12-13
  • 打赏
  • 举报
回复
楼主本质目的是为了加快速度。我倒是有个办法。楼主把任务划分到N台机器上运行,然后综合。
加载更多回复(6)

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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