[英]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.