public int dominantIndex(int[] nums) {
int index = 0;//nums最大值的索引
if (nums.length == 1) {//当长度为1时
return index;
}
int max = nums[0];//设nums中的最大值
for (int i = 0;i < nums.length;i ++) {//nums长度不为1,循环找最大值和相应的索引
if (max < nums[i]) {
int temp = max;
max = nums[i];
nums[i] = temp;
index = i;
}
}
for (int i = 0;i < nums.length;i ++) {//循环查看最大值是否符合要求
if (max < 2*nums[i] && i != index) {
index = -1;
}
}
return index;
}
初学java小白:最后for循环index不能赋值;
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- VICTOR_fusheng 2020-08-08 19:24关注
你选取最大的index时候把做了位置变换,把数据丢了。去掉交换数据的三行。或者可以在选择最大值的时候就比较了
解决 无用评论 打赏 举报
悬赏问题
- ¥15 Xsheii7我安装这个文件的时候跳出来另一个文件已锁定文件的无一部分进程无法访问。这个该怎么解决
- ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
- ¥15 FileNotFoundError 解决方案
- ¥15 uniapp实现如下图的图表功能
- ¥15 u-subsection如何修改相邻两个节点样式
- ¥30 vs2010开发 WFP(windows filtering platform)
- ¥15 服务端控制goose报文控制块的发布问题
- ¥15 学习指导与未来导向啊
- ¥15 求多普勒频移瞬时表达式
- ¥15 如果要做一个老年人平板有哪些需求