福大数据结构与算法实验题 4.2 Who is the strongest(链表实现)

原创 2013年12月03日 18:17:37
★实验任务
在神奇的魔法世界,召唤师召唤了一群的魁偶。这些魁偶排成一排,每个魁偶都有一个
战斗值。现在该召唤师有一个技能,该技能能对其中某个魁偶战斗值进行提高,增加的值为
排在该魁偶左边的战斗值大于它且离他最近的魁偶的战斗值(若该魁偶左边没有大于它的则
战斗值不变)。若有一排魁偶战斗值为 8 7 6 8 9 2 则对最后一个魁偶是用该技能的话则最
后一个魁偶战斗值变成 2+9=11。现在召唤师召唤了一排魁偶,从左到右战斗值都已知,召
唤师只能使用一次技能,现在让你进行选择其中一个魁偶使用技能,使得战斗值最大的魁偶
的战斗值最大。如上面一排魁偶战斗值为 8 7 6 8 9 2 若对第 3 个使用则最大为 13,对第
二个使用最大值为 15,所以最佳情况是对第二个魁偶使用该技能。
★数据输入
输入第一行为一个正整数 N (2 < N <= 100000), 表示有 N 个魁偶排成一列。
第 2 行 N 个整数。第 i 个整数 ai 表示第 i 个魁偶战斗值为 ai(0<ai<=1000000)。 ★数据输出
输出一行一个整数,表示最大战斗值。

输入示例

6
8 7 6 8 9 2

输出示例

15


该题可用双向链表解决,设置两个迭代器,一个往后依次遍历,一个从指定位置起往前查找


#include<iostream>
#include<list>
using namespace std;
int main()
{
	int m,n,max=0;
	cin>>n;
	list<int> L;
	list<int>::iterator iter1=L.begin(),iter2;   //声明两个迭代器
	for(int i=1;i<=n;i++)
	{
		cin>>m;     //将元素添加到链表尾部
		L.push_back(m);
	}
	iter1++;   //指向第二个元素
	for(i=2;i<=n;i++)
	{
		iter2=iter1;   //让iter2也指向同一个元素,然后依次往前查找
		while((*iter2)<=(*iter1)&&iter2!=L.end())
		{
			iter2--;
		}

		if(max<(*iter2+*iter1))    //判断最大值
			max=(*iter2+*iter1);
		iter1++;
	}
	cout<<max<<endl;
	return 0;
}
		


数据结构与算法实验题 4.2 Who is the strongest

数据结构与算法实验题 4.2 Who is the strongest ★实验任务 在神奇的魔法世界,召唤师召唤了一群的魁偶。这些魁偶排成一排,每个魁偶都有一个 战斗值。现在该召唤师有一个技能,该技能...
  • murmured
  • murmured
  • 2013年11月04日 21:56
  • 725

链表相关的算法题大汇总 — 数据结构之链表奇思妙想

声明:转自http://hi.baidu.com/lanxuezaipiao/item/afc616caf8393a155050585b 基本函数 1,构造节点:  //定义节点类型 struct...
  • lanxuezaipiao
  • lanxuezaipiao
  • 2014年03月25日 21:18
  • 2786

数据结构实验之链表五:单链表的拆分

此题有两个思路:一是见两个链表,一个是偶数链表,一个是奇数链表。二是建一个链表,输出的时候偶数奇数分别输出,均可AC#include #include #include #include u...
  • AcSuccess
  • AcSuccess
  • 2016年07月27日 20:14
  • 924

福大数据结构与算法实验题 Who is behind(双端队列)

★实验任务 开学了,有 N 个新生需要排成一列。这 N 个新生编号从 1 到 N,为了排队方便,按编号 从 1 到 N 顺序入队伍,起始队伍为空,每个人进队伍的选择有两种,一种是直接排在当前队 ...
  • qq544529563
  • qq544529563
  • 2013年12月03日 13:23
  • 892

数据结构与算法(7)——单链表习题二

题目1:假设两个单向链表在某结点相交后,成为一个新的单向链表。两个链表的头结点是已知的,但是相交的结点未知。也就是说,它们相交之前的结点个数是未知的,并且两个链表的结点数也可能不同。假设链表List1...
  • u012187452
  • u012187452
  • 2017年03月28日 09:29
  • 279

数据结构与算法实验题-大招秒杀

数据结构与算法实验题-大招秒杀 ★实验任务 众所周知,兽王萨尔有一招技能叫闪电链,可以跳跃电击敌人。现在,萨尔为了迅速对敌,强行把自己闪电链升级成了大招(英雄还能自己改大招?这个设定有点假啊。。。)。...
  • murmured
  • murmured
  • 2013年11月28日 12:57
  • 1394

数据结构实验报告 链表

一、实验目的(1)掌握线性表的基本运算在两种存储结构(顺序结构和链式结构)上的实现; (2)掌握线性表的各种操作(建立、插入、删除等)的实现算法;二、实验仪器及环境:PC计算机 windows 7...
  • wuxuanyi27
  • wuxuanyi27
  • 2016年04月17日 17:57
  • 1814

SDUTOJ 2116 数据结构实验之链表一:顺序建立链表

最近数据结构和c++相结合的实训正在进行,鉴于一些同学还不是太懂链表,写一篇博客讲解一下,若是哪里有问题,请不吝支出,在此谢过,若是过路的大神看见了,求轻喷。。。。 说白了,链表就是个特殊的结构体数...
  • u013014691
  • u013014691
  • 2015年01月08日 20:15
  • 1186

数据结构实验一--单链表的基本操作的算法

1、 掌握单链表存储结构的类型定义; 2、 实现单链表各种基本运算的算法。 3、 实现单链表各种基本运算的算法以及改进实验代码。...
  • hu1020935219
  • hu1020935219
  • 2013年10月08日 18:38
  • 2285

福大数据结构与算法实验题 3.2 排队

★实验任务 N 个人站成一排,他们只能往右平视或俯视,给你每个人的高度,请问他们分别能够看 到几个人?(也就是说,每个人,假设标号为 i,可以看到标号在[i+1,j]这个区间内的人, j 是 i...
  • qq544529563
  • qq544529563
  • 2013年12月03日 18:51
  • 920
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:福大数据结构与算法实验题 4.2 Who is the strongest(链表实现)
举报原因:
原因补充:

(最多只允许输入30个字)