通過對testdome練習跑步......目前正在研究https://www.testdome.com/for-developers/solve-question/9877排序的搜索提高性能
實現功能
CountNumbers
接受整數數組排序,並計算小於參數lessThan
數組元素的數量。例如,
SortedSearch.CountNumbers(new int[] { 1, 3, 5, 7 }, 4)
應該返回2,因爲還有不到4
我已經輸入了兩個數組元素:
public class SortedSearch
{
public static int CountNumbers(int[] sortedArray, int lessThan)
{
int returnedValued = 0;
foreach (int i in sortedArray)
{
if(i<lessThan)
returnedValued += 1;
}
return returnedValued;
}
public static void Main(string[] args)
{
Console.WriteLine(SortedSearch.CountNumbers(new int[] { 1, 3, 5, 7 }, 4));
}
}
我在想,爲什麼這個被標記爲難度硬預計時間20分鐘,當我知道它應該只需要幾個。無論如何,4例中有2例通過。我超出了時間限制,我猜我需要重構才能返回更快的搜索。這是正確的嗎?如果有的話,任何人都可以幫忙嗎?
Example case: Correct answer Various small arrays: Correct answer Performance test when sortedArray contains lessThan: Time limit exceeded Performance test when sortedArray doesn't contain lessThan: Time limit exceeded
如果你想知道爲什麼你的代碼不能通過測試,你需要詢問創建測試的人,而不是Stack Overflow社區。一個很好的問題會包含一些具體的可操作信息,比如確切的預期行爲和對目前爲止已經嘗試實現該行爲的具體解釋,以及您無法自行解決的具體問題。這個問題缺乏這些細節,並可能引發各種不同的答案。它太寬泛,不包含明確的問題陳述。 –
添加'使用System.Linq;'然後實現你的函數作爲'sortedArray.Where(i => i
另外,我只是看着網站,它確實有提示。你讀過任何提示嗎?如果不是,那麼在問這裏之前爲什麼不這樣做呢?如果是這樣,你讀了什麼提示,爲什麼他們不幫你解決問題? **提示:第二個提示告訴你_exactly_你需要做什麼才能通過測試。** –