| 查看: 518 | 回复: 2 | ||
wxyuan2014铜虫 (小有名气)
|
[求助]
求一维数组最小值索引 已有2人参与
|
| 大家好,请问Java中有没有求数组最小值索引的函数呢,类似的在MATLAB中有w=find(n==min(n(0:99))) |
» 猜你喜欢
系统今天又提示维护了,估计离放榜不远了
已经有6人回复
时间戳他又来了
已经有14人回复
产物和副产物价值比较
已经有4人回复
这个自发加氧反应的机理是什么?
已经有7人回复
J-J-W不为人知的一面
已经有19人回复
没消息就是被刷了呗
已经有14人回复
微信指数没变化,科研之友没阅读
已经有8人回复
这种情况还有戏吗
已经有11人回复
同事接到电话了,我却没有
已经有4人回复
准备明年的基金了
已经有5人回复

FMStation
至尊木虫 (知名作家)
- 应助: 591 (博士)
- 贵宾: 0.03
- 金币: 18701.7
- 红花: 97
- 帖子: 8891
- 在线: 1493.2小时
- 虫号: 2400059
- 注册: 2013-04-04
- 专业: 计算机应用技术
【答案】应助回帖
★ ★ ★ ★ ★
感谢参与,应助指数 +1
wxyuan2014: 金币+5 2016-08-08 15:43:13
感谢参与,应助指数 +1
wxyuan2014: 金币+5 2016-08-08 15:43:13
|
C Code: #include<stdio.h> int main(void) { int i, j, size_A=2, size_A2=3; float A[2][3]= {{-1e300, 2, 3},{2,-1e300,5}}; /*NOTE: -1e300 outputs as -Inf*/ int size_index=0; int rloc, cloc; float index[size_A*size_A2]; for(j=0; j<size_A2; j++) /*Finds rows where values in each column are greater than -Inf. Also finds length of new linear matrix*/ { for(i=0; i<size_A; i++) { if(A[j]>-1e300) { cloc=j+1; rloc=i+1; size_index++; index[1][size_index]= rloc; printf("col:%d\nrow:%d\nsize:%d\n", cloc, rloc, size_index); }printf("%d", index[1][size_index]); } } return 0; } http://cboard.cprogramming.com/c ... -find-function.html |
2楼2016-08-08 14:16:42
jianliu67
木虫 (小有名气)
- 应助: 27 (小学生)
- 金币: 4053.5
- 红花: 4
- 帖子: 216
- 在线: 135.7小时
- 虫号: 3511817
- 注册: 2014-11-01
- 性别: GG
- 专业: 计算机科学的基础理论
【答案】应助回帖
★ ★ ★ ★ ★
感谢参与,应助指数 +1
wxyuan2014: 金币+5 2016-08-09 15:54:08
感谢参与,应助指数 +1
wxyuan2014: 金币+5 2016-08-09 15:54:08
|
看你追求什么了. 1. 如果追求效率, 你得自己写一段code, 循环整个数组, 得到最小值的同时保存它的index. 2. 如果只追求代码简洁好看, 可以这样写: int minIndex = list.indexOf(Collections.min(list)), 这里 <ArrayList>list 是你的数组. The second one is exactly like the Matlab method you wanted, but it goes through the same list twice in the worst case scenario. The first method only goes through the list once so it's faster. |
3楼2016-08-09 10:40:45











回复此楼