A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

嗯,谢谢。问题已经解决。有三种方法可以解决。你的解决问题的思路不错,错在那里一条条测试就知道是什么原因了。把调用前后数组打印出来看一下就知道了。最简单的方法就是把元素交换变成下标交换就可以了。或者加个数组缓存也是可以的。程序算法没问题。
回复 使用道具 举报
不知道你懂没懂, 给你指出点我的感觉,int min = 0 ;  你定义的都是角标,不是元素,总体看起来没什么错, 但是最小值的  if 你选的条件是if(arr[min]>arr[x])这个是没错的!因为我们想要把他放进去和其他角标比,主要在于之后的想要的结果应该是min=arr[x],因为咋们本来就是角标哦。
回复 使用道具 举报
雨中的泪 发表于 2015-9-26 00:14
因为在计算机运算时-20 的补码大于1的补码,所以最小值是1.

好牛拜。。。。。。。。。。
回复 使用道具 举报

好牛拜,被你的算法吓尿了
回复 使用道具 举报
你做了地址传递,会改变数组内的数据。建议做值传递,或者在方法内生成一个新数组接管传来的数组做比较。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马