案例:輸入一串陣列並賦值,賦值的範圍為1~arr.length-1,然後生成乙個隨機數(1 ~ arr.length-1),將生成的隨機數放在arr[arr.length-1] ,生成乙個隨機位置,將陣列最後一位和生成的隨機位置所在的陣列交換,最後找出重複的那個陣列。
public
class
findrepetition
public
static
void
solution01
(int ints)
random random =
newrandom()
;int ran = random.
nextint
(ints.length -1)
+1; ints[ints.length-1]
=ran;
int index =
newrandom()
.nextint(n
);//需要交換
changepositionbyindex
(ints,index)
;print
(ints,5)
;shufflearr
(ints)
;print
(ints,5)
;int temp=0;
for(
int i =
0; i < ints.length; i++)}
system
.out.
println
(temp);}
public
static
void
solution02
(int ints)
random random =
newrandom()
;int ran = random.
nextint
(ints.length -1)
+1; ints[ints.length-1]
=ran;
int index =
newrandom()
.nextint(n
);//需要交換
changepositionbyindex
(ints,index)
;print
(ints,6)
;int
helper =
newint
[ints.length -1]
;for
(int i =
0; i < helper.length+
1; i++
)for
(int i =
0; i < helper.length; i++)}
}public
static
void
changepositionbyindex
(int arr ,
int index)
}public
static
void
print
(int arr ,
int columns)
else
}else
else}}
}public
static
void
shufflearr
(int arr )
}}
執行結果:
演算法學習 位運算
判斷奇偶 x 1 1 x為奇數 x 1 0 x為偶數獲取二進位制x的第n位是0還是1 如果 x 1 n 0,則該位為0,否則位11左移表示乘以2,1右移表示除以2 2 n 1 n 1 2 n 1 n使用異或運算可以消除重複 a a 0 a 0 a a b a b消除二進位制的最後乙個1 x x 1 ...
CSAPP 實驗一 位運算
課程鏈結如下 coursera hardware software inte ce 這門課的大部分內容是對應於書 深入理解計算機系統 該書的英文名稱是 computer systems a programmer s perspective 該書講解了計算機的底層知識,其中大部分我認為是乙個合格程式設...
C語言基礎一 位運算
程式是按照從上到下的順序依次執行的。選擇結構,程式中會判斷並選擇一條符合條件的語句執行。if 條件表示式 執行的語句 else if 條件表示式 執行的語句 else 執行的語句 switch 表示式 不能為小數,因為計算機中的小數只能儲存近似值。break 是跳出這個選擇結構,若是沒有break,...