【題目描述】:兩個陣列,乙個a陣列200個,,另乙個b陣列199個,兩個陣列亂序,但是差乙個數,,,找出差的是那個數。
一。境界1(60分)
遍歷a陣列,對每個數執行操作
遍歷b陣列對比是否存在此數。
/**
* created by zsl on 2017/8/20.
*/public
class
main ;
int arrayb = ;//相差8
int a = 0;
boolean result = false;
for (int i = 0; i < arraya.length; i++)
}if (!result) }}
}
二。境界2(80分)
利用數字原理,對第乙個陣列求和,
對第二個陣列求和
求差即所求數。
public
class main ;
int arrayb = ;//相差8
int suma = 0;
int sumb = 0;
for (int i = 0; i < arraya.length; i++)
suma += arraya[i];//求和
for (int j = 0; j < arrayb.length; j++)
sumb += arrayb[j];//求和
system.out.println(suma - sumb);//求差
}}
三。境界3(100分)
利用位操作中的「異或」,
兩個相同的數求異或結果為0,0和任何數求異或為任何數本身
用0和a陣列及b陣列求異或
public
class main ;
int arrayb = ;//相差8
int result = 0;
for (int i = 0; i < arraya.length; i++)
result ^= arraya[i];//求異或
for (int j = 0; j < arrayb.length; j++)
result ^= arrayb[j];//求異或
system.out.println(result);
}}
神器的演算法,,還是6。。 演算法學習 陣列
乙個陣列存放了2n 1個整數,其中有n個數出現了2次,1個數出現了1次,找出出現1次的數是多少?方法一 借助輔助陣列 長度為n 1,元素為一結構體 包含數值和 個數兩個成員 進行計數,但是時間複雜度為o n n 空間複雜度為o n 1 本來是想把val定義為結構體的,但由於結構體是值型別,不是引用型...
演算法學習 陣列
乙個陣列存放了2n 1個整數,其中有n個數出現了2次,1個數出現了1次,找出出現1次的數是多少?方法一 借助輔助陣列 長度為n 1,元素為一結構體 包含數值和 個數兩個成員 進行計數,但是時間複雜度為o n n 空間複雜度為o n 1 本來是想把val定義為結構體的,但由於結構體是值型別,不是引用型...
演算法學習 求割點
強連通分量 割點 去掉這個點之後,圖會被分成多個點集,點集之間的點無法相互到達 include include includeusing namespace std const int maxn 100010 struct note edge 2 maxn int st maxn top 0 voi...