交換兩個變數的值方法,這個面試題如果只寫一種當然很簡單,沒什麼可以說的。今天這個面試是問大家有幾種辦法來實現交換兩個變數的值 。在沒開始看具體答案前,你可以先想想看 。
下面分別來說說這幾種方法:
1、方法一
通過新新增中間變數temp的方式,這個方法是最簡單的,每個語言都適用。
def
swap
(a,b)
: temp = a
a = b
b = temp
print
(a,b)
2、方法二
python獨有的方法,一行**就能搞定,直接將兩個變數放到元組中 。
'''
'''def
swap2
(a,b)
: a,b = b,a
print
(a,b)
3、方法三
這個方法,是不是很少人想到了,採用加減法來交換 。我們不考慮效率,能達到交換的效果就行 。
'''
'''def
swap3
(a, b)
: a = a + b
b = a - b
a = a - b
print
(a, b)
4、方法四
採用異或運算,這個是不是看起來比較高大上。通過按位異或運算來交換兩變數的值,可以減少變數的定義,同時減少計算機對**的解析時間。
按位異或運算即計算機會先把十進位制數轉化為二進位制數,並對二進位制數進行從右到左用從1開始編數,然後比較兩個二進位制數值相同位置的數,如果相同結果為0,不同時結果為1 。 「1^1=0 1^0=1 0^0=0」
如:1010
1111
則結果為 0101
def
swap4
(a,b)
: a = a ^ b
b = a ^ b
a = a ^ b
print
(a,b)
交換兩個數的幾種方法
這是最常用的交換兩數的方法 void swap 1 int a,int b 有兩種方法。1 採用加減的方法,這種方法容易越界 void swap 2 int a,int b 2 採用按位異或的方法 void swap 3 int a,int b 這兩種方法並不常用甚至有些時候容易出bug,但有時面試...
python交換資料的兩列
python交換資料的兩列有兩種方式 第一種 在numpy中交換資料的兩列 上 1 import numpy as np 2 a np.array 1,2,3 4,5,6 3 a 4 array 1,2,3 5 4,5,6 6 a 0,1 a 1,0 7 a 8 array 3,2,1 9 6,5,...
python兩數交換位運算 Python 位運算
利用位運算實現快速計算 通過 快速計算2的倍數問題。n 1 計算 n2 n 1 計算 n 2,負奇數的運算不可用 n m 計算 n 2 m 即乘以 2 的 m 次方 n m 計算 n 2 m 即除以 2 的 m 次方 1 n 2 n 通過 快速交換兩個整數。通過 快速交換兩個整數。a b b a a...