[英]Retrieving the highest number in an array recursively in C#?
如何在C#中递归地检索数组中的最高数字?
现在,您可能会认为我们的意思是不给您答案-我承认我已将答案写下来,我的一部分甚至希望将其提供给您。
编程就是要自己找到问题的解决方案。 当您被聘为程序员时,您可能会依靠其他人,但是他们都有自己的问题,您需要能够自己承担一些责任。
递归(过于简单的回答)是指一遍又一遍地调用相同的操作,直到产生结果。 这意味着您在每个递归操作中都需要知道(至少)两件事:
“您要寻找的”是终止条件。 一旦发现,所有工作都将停止,您可以回家。
“到目前为止,您发现的内容”是您如何知道所检查的内容,从而避免重蹈覆辙。
那么,您需要了解什么才能递归地找到数组中的最大值?
这将产生一个方法签名,如下所示:
public int GetHighestNumber(int[] array, int highestNumberFound, int lastIndexChecked);
进入阵列后,必须执行以下操作:
highestNumberFound
的值时停止 GetHighestNumber
,并更新新的highestNumberFound
和lastIndexChecked
。 我知道这听起来有些陈词滥调,但是自己学习这些东西将使您成为一个更好的程序员。
如果您想成为一名专业的程序员,则必须自己学习这些知识。
如果您不想成为专业的程序员,那么请放弃该课程并做自己喜欢的事情。
这只是一个提示(以int[]
为例):
public int FindMax(int[] array, int indexSoFar, int maxSoFar)
想一想:
编辑的原因:不想破坏答案。 问候。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.