6 回答

TA貢獻1794條經驗 獲得超8個贊
這很簡單:
static boolean comp(int a[], int b[]) {
for (int i : a) {
if (!Arrays.asList(b).contains(i*i)) {
return false;
}
}
return true;
}
簡而言之,你遍歷 a 和 b 的每個值,看看 a 的平方值是否是 b。當你發現不匹配時,你會自動返回 false。否則,返回 true。

TA貢獻1804條經驗 獲得超3個贊
public static Boolean compare(int[] a, int[] b) {
Arrays.sort(a);
Arrays.sort(b);
for (int i = 0; i < a.length; i++) {
if (a[i] * a[i] != b[i]) {
return false;
}
}
return true;
}

TA貢獻1805條經驗 獲得超10個贊
static boolean comp(int a[], int b[]) {
for (int i : a) {
if (!Arrays.asList(b).contains(i*i)) {
return false;
}
}
return true;
}

TA貢獻1864條經驗 獲得超2個贊
List
有一個containsAll
,我會用它;使用 Java 8+ 和流可能看起來像
static boolean comp(int a[], int b[]) {
? ? return Arrays.stream(b).distinct().boxed().collect(Collectors.toList())
? ? ? ? ? ? .containsAll(Arrays.stream(a).map(x -> x * x).boxed()
? ? ? ? ? ? .collect(Collectors.toList()));
}

TA貢獻1851條經驗 獲得超4個贊
bool Same(int[] arr1, int[] arr2)
{
for (int i = 0; i < arr1.Length; i++)
{
var correctIndex = Array.IndexOf(arr2, (int)Math.Pow(arr1[i], 2));
if (correctIndex == -1)
{
return false;
}
arr2.Take(correctIndex);
}
return true;
}
in c#

TA貢獻1844條經驗 獲得超8個贊
public static Boolean compare(int[] a, int[] b) {
Arrays.sort(a);
Arrays.sort(b);
for (int i = 0; i < a.length; i++) {
if (a[i] * a[i] != b[i]) {
return false;
}
}
return true;
}
添加回答
舉報