演算法試題 及其他知識點

2022-08-21 04:03:12 字數 1872 閱讀 1934

# 1. 把整數轉換成每一位組成的列表 123 ->[1,2,3]

num = 1234

print(list(str(num)))

# [1,2,3] len 3 i 0~0

# [1,2,3,4] len 4 i 0~1

# [1,2,3,4,5] len 5 i 0~2

# len n i 0~n//2-1

def reverse_list(li):

n = len(li)

for i in range(n//2):

li[i], li[n-1-i] = li[n-1-i], li[i] # 0~n-1 1~n-2

return li

# print(reverse_list([1,2,4,5]))

def int2list(num):

li =

while num > 0:

# 新增進去的數字是 反著的

num = num // 10

# 反轉 列表

li.reverse()

return li

# [1,2,3,4,5] -> 12345

# 12345

def list2int(li):

num = 0

for val in li:

num = num * 10 + val

return num

print(list2int([1,2,3,4,5]))

# 12345 -> 54321 123400->4321

def inverse_int(num):

res = 0

while num > 0:

res = res * 10 + num % 10

num = num // 10

return res

print(inverse_int(10002345))

def int2bin(num):

binary =

while num > 0:

num = num >> 1 # num // 2

binary.reverse()

return binary

print(int2bin(1234))

# & (按位與) | ~ ^ 異或(xor)

# and or not

# 位運算

print(3 ^ 6) # 5

# 0011

# 0110

# 0101

# 開關

x = false

def toggle(x):

return x ^ true

print(toggle(x))

# & 子網掩碼

# 192.168.53.5/18

# &# 255.255.255.0

# 11000000

# 192.168.0.0

# << >> 移位運算子

# 相當於平板除 效率高 二進位制運算位移

print(17 >> 4) # 1

# 乘法運算

print(256 * 19)

# 19 = (16+2+1) 10011

print((256<<4)+(256<<1)+256)

# ^# a ^ 0 = a a ^ a = 0

# 找出沒有配對的 單獨的 數字

li = [2,3,2,4,1,3,4,1,4]

x = 0

for val in li:

x = x ^ val

print(x)

其他知識點

1.瀏覽器核心 覽器最重要或者說核心的部分是 rendering engine 可大概譯為 渲染引擎 不過我們一般習慣將之稱為 瀏覽器核心 決定了瀏覽器如何顯示網頁的內容以及頁面的格式資訊。不同的瀏覽器核心對網頁編寫語法的解釋也有不同,因此同一網頁在不同的核心的瀏覽器裡的渲染 顯示 效果也可能不同,...

MySQL 其他雜碎知識點

ddl data definition languages 語句 資料定義語言,這些語句定義了不同的資料段 資料庫 表 列 索引等資料庫物件的定義。常用的語句關鍵字主要包括 create drop alter等。dml data manipulation language 語句 資料操縱語句,用於新...

攜程演算法筆試題知識點

判別式模型 discriminative model 是直接對條件概率p y x 建模。常見的判別式模型有 線性回歸模型 線性判別分析 支援向量機svm 神經網路等。生成式模型 generative model 則會對x和y的聯合分布p x,y 建模,然後通過貝葉斯公式來求得p yi x 然後選取使...