一个基本问题,自己实现起来感觉算法长了,求简单的

ljm19891118 2009-12-09 02:14:40
一个一维数组
19 21 19 21 17 10
求出里面最大的数
并且输出是数组的第几个
这个感觉实现起来算法比较长
谁有简单的思路

还有个小问题
为什么我登陆了一次该论坛
后来点击提问的时候又要登陆
但是登陆后
点击完成
但是又提示登陆?
这是论坛的问题还是我电脑的问题?
我登陆别的网站都没这个问题
...全文
140 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
haijid8858 2009-12-09
  • 打赏
  • 举报
回复
任务为:下载一款名为热血传奇的网络游戏客户端,然后进入秒卡区五湖四海。注(官方下载地址为http://mir2.sdo.com/web/index.html,可以提供游戏帐号和游戏内需要的道具)任务一:让游戏角色可以控制筛子的点数。注(完成软件1万+奖励1万)任务二:白日门刷金砖。注(完成软件1.5万+奖励1.5万)任务三:刷经验升级。注(完成软件2万+奖励2万)任务四:复制装备。注(完成任务3万+奖励3万)任务五:控制武器升级。注(完成任务3万+奖励3万)完成2种任务,奖励反倍:如任务一和任务二都完成奖励为5万。完成3种任务:奖励反3倍。完成4种任务:奖励反4倍。完成5种任务:奖励反5倍!!!!快过年了。。。赚50万盛大的钱就行了!!!有意的继续详谈!!!
AAA20090987 2009-12-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ljm19891118 的回复:]
如果最大的数字有2个是相同的了?
感觉有点麻烦
[/Quote]

这样的话,先遍历一次,找到最大的元素MAX(之一)。
再遍历第二次,若某个元素和MAX相同,则输出它的下标。

这个算法的效率可能不高,继续听高手讲解。
donkey301 2009-12-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 lauhot 的回复:]
引用 5 楼 ljm19891118 的回复:
如果最大的数字有2个是相同的了?
感觉有点麻烦


数组的数全不同,遍历一次就够了

但是如果最大数有两??

等好的思路
[/Quote]
数全不同就用一个unsigned int存最大数位置,
有相同数的话,遍历的同时,用一个unsigned int数组(或者用stl的list)存最大数的位置就行了
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ljm19891118 的回复:]
如果最大的数字有2个是相同的了?
感觉有点麻烦
[/Quote]

数组的数全不同,遍历一次就够了

但是如果最大数有两??

等好的思路
plumstar 2009-12-09
  • 打赏
  • 举报
回复
基于快排思想进行查找
ljm19891118 2009-12-09
  • 打赏
  • 举报
回复
如果最大的数字有2个是相同的了?
感觉有点麻烦
phpjspasp 2009-12-09
  • 打赏
  • 举报
回复

#include <stdio.h>

int max(int *a, int size)
{
int index = 0;
int i;
for(i=0; i<size; i++)
{
if(a[index] < a[i]) index = i;
}
return index;
}

int main()
{
int array[] = {3,45,34,76,6,8,45,3,234,5,6,45,67,45,345,5,6456,5657};
int index = max(array, sizeof(array)/sizeof(int));
printf("%d %d", index, array[index]);
return 0;
}


函数max返回的是 数组中最大元素的下标。
烈火蜓蜻 2009-12-09
  • 打赏
  • 举报
回复
要么遍历一次,要么加元素入数组的时候,记录下最大的元素。就OK了
highball 2009-12-09
  • 打赏
  • 举报
回复
遍历一次
星城无限 2009-12-09
  • 打赏
  • 举报
回复
sf~

33,028

社区成员

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

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