第二大整数 [英] Second largest integer

查看:92
本文介绍了第二大整数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Write a function that accepts an array of non-negative integers and returns the second largest integer in the array. Return -1 if there is no second largest.




int f(int[ ] a)



example


example

if the input array is	return
{1, 2, 3, 4}	3
{{4, 1, 2, 3}}	3
{1, 1, 2, 2}	1
{1, 1}	-1
{1}	-1
{}	-1





我尝试了什么:



这个问题的回答是什么输出



What I have tried:

what will be yhe answer of this question with output

推荐答案

拿一张纸和一支铅笔。并尝试一下,找到解决问题的机械方法,这就是你要寻找的算法。

建议:从搜索最大整数的代码开始。



我们不做你的家庭作业。

HomeWork不会在乞求别人做你的工作时测试你的技能,它会让你思考和帮助您的老师检查您对所学课程的理解,以及您应用这些课程时遇到的问题。

你的任何失败都会帮助你的老师发现你的弱点并设定补救措施。

你的任何失败都会帮助你了解什么有效,什么无效,被称为'试错'学习。

所以,试一试,重读课程并开始工作。如果您遇到特定问题,请显示您的代码并解释这个问题,我们可能会提供帮助。



作为程序员,您的工作是创建算法解决特定问题,你不能依赖别人永远为你做,所以有一段时间你必须学会​​如何。而且越快越好。

当你要求解决方案时,就像试图通过培训其他人来学习开车一样。

创建算法基本上是找到数学并做出必要的调整以适应你的实际问题。



发展的概念就像这个词所暗示的那样:系统地使用科学和满足特定目标或要求的技术知识。 BusinessDictionary.com [ ^ ]

这与有一个不一样快速谷歌并放弃,如果我找不到正确的代码。
Take a sheet of paper and a pencil. And give it a try, find a mechanical way to solve the problem, that way is the algorithm you are looking for.
Advice: Start with code that search for largest integer.

We do not do your HomeWork.
HomeWork is not set to test your skills at begging other people to do your work, it is set to make you think and to help your teacher to check your understanding of the courses you have taken and also the problems you have at applying them.
Any failure of you will help your teacher spot your weaknesses and set remedial actions.
Any failure of you will help you to learn what works and what don't, it is called 'trial and error' learning.
So, give it a try, reread your lessons and start working. If you are stuck on a specific problem, show your code and explain this exact problem, we might help.

As programmer, your job is to create algorithms that solve specific problems and you can't rely on someone else to eternally do it for you, so there is a time where you will have to learn how to. And the sooner, the better.
When you just ask for the solution, it is like trying to learn to drive a car by having someone else training.
Creating an algorithm is basically finding the maths and make necessary adaptation to fit your actual problem.

The idea of "development" is as the word suggests: "The systematic use of scientific and technical knowledge to meet specific objectives or requirements." BusinessDictionary.com[^]
That's not the same thing as "have a quick google and give up if I can't find exactly the right code".


我会建议排序 [ ^ ]首先按降序排列数组,然后获取数组[1] 中的值。

检查是否需要返回-1需要一些简单的 if 构造。
I would suggest sorting[^] the array in descending order first and then getting the value in array[1].
Checking if -1 needs to be returned would need a few simple if constructs.


你有 C ++ ,你有标准库的强大功能:

  • 按降序对数组进行排序(参见性病::排序 [<一个href =http://en.cppreference.com/w/cpp/algorithm/sorttarget =_ blanktitle =New Window> ^ ])。
  • 删除相邻重复项目(请参阅 std :: unique [ ^ ])。
  • 返回2 nd 项数组是否存在,否则返回 -1
You have C++, you have the power of the standard library:
  • sort the array in descending order (see std::sort[^]).
  • remove adjacent duplicate items (see std::unique[^]).
  • return the 2nd item of the array if it exist, otherwise return -1.


这篇关于第二大整数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆