這是在最近的編程訪談中給我的。我得到一個未排序的具有負值和正值的整數數組,並且需要對它們進行排序,但僅限於正值。我想知道您的一些解決方案可能不使用Google。排序未排序數組中的正整數
回家後我發現Arrays.sort()按升序對數組排序,但我不確定如何輸出到只有正值的新數組,因爲這是一個要求。如果它們大於-1,我可以通過打印來打印它們,但是如何將它們輸入到新數組中,而無需遍歷數組並計算正數值的數量以獲取新數組的大小,然後實例化新的數組,然後循環再次將它們添加到新的數組..這種解決方案似乎不是最佳的,有沒有更好的方法?
輸出需要一個新的數組,只有正面的價值觀,即排序
下面是我到目前爲止有:
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] unsorted = {
-3, 95, -4, 20, 5, 6, 8
};
int[] sorted = unsorted;
Arrays.sort(sorted);
for (int s: sorted) {
if (s > -1)
System.out.println(s);
}
}
}
你在說什麼聽起來像過濾+排序。 「輸出到只有正值的新陣列」。你是否想要一個只有正值的新數組,這是排序的。或者你的意思是你想要一個既有負值也有正值的新數組,但只有正值被排序。 – crush
該問題未被詳細說明。什麼_「排序但僅限於正值」_是什麼意思? –
對我而言,這聽起來像面試問題的目的是檢查,看看你是否真正理解排序的過程。這在面試中很重要,因爲編寫自定義排序邏輯在許多編程職位中經常發生。 – crush