我必須找到兩個Set對象之間的交集。查找路口
Q
查找路口
2
A
回答
3
變量intCount
在最裏面的if
條件是本地的,這意味着只有第一個條目interArr
被訪問。重新排列實施如下。
public int[] intersection(Set parSet)
{
int[] interArr = new int[numbers.length];
int[] testArr = parSet.toArray();
int intCount = 0; // initialization out of the loop
for(int index = 0; index < numbers.length; index++)
{
for(int compareInt = 0; compareInt < testArr.length; compareInt++)
{
if(numbers[index] == testArr[compareInt])
{
interArr[intCount] = testArr[compareInt];
intCount++;
}//end if
}//end inner for
}//end outter for
return interArr;
}//end method intersection
1
你是在正確的軌道上:使用嵌套循環做一個詳盡的搜索(雖然它可以使用Java集合來簡化),只有一些小問題:
1)你沒」牛逼定義toArray()
方法類,所以假設你的意思是parSet.numbers
當你調用parSet.toArray()
2)櫃檯intCount
需要在循環之外,以免被設置爲0,在每一個ITER通貨膨脹。
所以正確的版本應該是:
public int[] intersection(Set parSet) {
int[] interArr = new int[numbers.length];
int[] testArr = parSet.numbers; //you didn't define toArray() for the class Set
int intCount = 0; // move this variable out of the loop
for (int index = 0; index < numbers.length; index++) {
for (int compareInt = 0; compareInt < testArr.length; compareInt++) {
if (numbers[index] == testArr[compareInt]) {
interArr[intCount] = testArr[compareInt];
intCount++;
}//end if
}//end inner for
}//end outter for
return interArr;
}//end method intersection
相關問題
- 1. Pyspark - 鍵值對查找路口
- 2. 查找十字路口無節點
- 3. 在Erlang中查找路由接口
- 4. 查找路徑
- 5. 查找窗口
- 6. 查找窗口
- 7. 查找與路徑
- 8. 查找端口號
- 9. 查找子窗口
- 10. 路口與MySQL與查詢
- 11. 查找n個政黨m的時間跨度所有路口
- 12. 使用路由表查找目標地址的接口名稱
- 13. 查找路口/在多個文件中的單詞的頻率
- 14. 用指定路徑啓動MAC查找程序窗口
- 15. 查找附近的路口在2個陣列
- 16. 播放框架路由路徑查找
- 17. 查找給定路徑的根路徑
- 18. 根據點查找線路
- 19. IP路由表查找.net
- 20. 查找絕對路徑
- 21. 在nltk.tree.Tree中查找路徑
- 22. MSBuild查找工具路徑
- 23. 最佳路徑查找
- 24. Python凍結路徑查找
- 25. 遞歸查找路徑
- 26. 查找文件路徑
- 27. 遞歸查找路徑
- 28. 最短路徑查找器
- 29. 查找本地路徑getUnlockedImageUri
- 30. 圖路徑查找器
什麼參數的類型?你的'Set'類或'java.util.Set'? –
爲什麼編輯的實際實施?這個問題在目前的形式中幾乎沒有任何意義。 – Codor