面試筆試演算法 euler

2021-10-10 19:51:37 字數 2764 閱讀 5084

// todo : 大整數減法、除法

int a =

1, b =

1, c =2;

// ... 斐波那契遞推

while(.

..)

int

func

(int x)

return t == raw;

}

long

long ans, zero_cnt, now =1;

...if

(num[i]

=='0'

)else

if(num[i -13]

=='0'

)else

if(zero_cnt ==

0) ans =

max(ans, now)

;

int num[30]

[30];

// 技巧,預設為 0 使得邊緣不特判..

.// 八個方向重複特判 只取 4 個方向 → ↘ ↓ ↙

int dir[4]

[2]=

;...

// 方向選擇

for(

int k =

0; k <4;

++k)

ans =

max(ans, t)

;}

// fib

long

longf(

int n)

// 考拉茲猜想

intfunc

(long

long n)

else

num[n]

= t;

return t;

}

// 通過 num[0] 儲存數值位數,陣列中存數從低位到高位

num1[0]

=strlen

(s1)

;for

(int i =

0, j = num1[0]

; i < num1[0]

;++i,

--j)..

.sum[0]

=max

(num1[0]

, num2[0]

);for(

int i =

1; i <= sum[0]

;++i)

}// 大整數乘法..

.for

(int i =

1; i <= n1[0]

;++i)

}// 前讀數邏輯類似,後進製邏輯類似..

.

int

func

(int

*n1,

int*n2)..

.int num[2]

[1000]=

,};// 兩個數 1,1

// 特判時自退出

int a =

0, b =1;

for(

int i =3;

1;++i)

swap

(a, b)

;// 迴圈交換

}

long

long dp[25]

=;// 從 1 開始不用邊界特判

for(

int i =

1; i <=21;

++i)

}// 另外一種:數學思考方法,從開始走到結尾,一共走 4 步,2 步下,2步右,組合問題

// 從上到下

for(

int i =

1; i <= n;

++i)

}// 從下到上

for(

int i = n; i >0;

--i)

}

while

(cin >> name[n]

)// 批量讀入字串

// 返回數字位數

intdigit

(int x)

intcheck

(int x,

int*num)

num[x %10]

=1; x /=10

;}return1;

}int

func

(int a,

int b,

int c)

;// 共同檢查操作乙個陣列if(

check

(a, num)==0

||check

(b, num)==0

||check

(c, num)==0

)return0;

return1;

}for

(int i =

1; i <

100;

++i)}}

}}

int

check

(int x,

int n)

return t == raw;

}

// 取數方便些,先將數進行處理

int num[10]

;void

init()

num[i]

= j;}}

init()

;

面試筆試演算法目錄

尋找缺失的數字 二進位制中1的個數 位運算 檢測乙個數能否被3整除 位運算 判斷兩個數是否符號相反 位運算 數字轉字母的編碼方式的個數 dp 直方圖最大面積 dp 求最長上公升 下降子串行 o nlgn 尋找下乙個較大元素 利用棧 包含min函式的棧 利用棧 中綴表示式轉為字尾表示式 棧 tromi...

面試筆試演算法 廣搜

用於計算地圖中起點到終點最短步長問題。廣蒐時,偶爾會有疑惑,為什麼可以在標記地圖上直接標上步數?會不會有別的點廣蒐時步數更小的情況?答案當然是不會的,在初始情況時,一定要把所有初始點塞進佇列中,才能開始廣搜,這樣保證每一輪都穩定地往起始點外擴乙個步長,並且先標記到的格仔中記錄的一定是最短步長。難得的...

面試筆試演算法題練習一(列表逆數)

2019年某公司一道筆試題如圖 現在需要注意的問題 1.若人在樓棟中間,最少可以看見3棟樓 兩旁的樓 自身所在樓 若樓層無遮蓋,則可以看見更多。2.若人在兩邊界,則最少可以看見2棟樓 一旁的樓 自身所在樓 若樓層 無遮蓋,則可以看見更多。自己的錯誤思路1 簡單的計算逆數,只算有無遮蓋,忽略了若建築物...