[程式設計題] 大富翁遊戲分析:大富翁遊戲,玩家根據骰子的點數決定走的步數,即骰子點數為1時可以走一步,點數為2時可以走兩步,點數為n時可以走n步。求玩家走到第n步(n<=骰子最大點數且是方法的唯一入參)時,總共有多少種投骰子的方法。
輸入描述:
輸入包括乙個整數n,(1 ≤ n ≤ 6)
輸出描述:
輸出乙個整數,表示投骰子的方法
輸入例子1:
輸出例子1:
類似於**青蛙跳台階。設走到第n步,有f(n)種走法,可以拆分成:第一次走1步,走法為f(n-1);第1次走2步,等等。。。
所以,就有 f(n) = f(n-1) + f(n-2) + ...+ f(1) = f(n-1) *2 = f(2)*2*2 = f(1) * 2**(n-1)
易知 f(1) = 1
n = int(raw_input())
print 2**(n-1)
[程式設計題] 拼湊錢幣分析:給你六種面額 1、5、10、20、50、100 元的紙幣,假設每種幣值的數量都足夠多,編寫程式求組成n元(n為0~10000的非負整數)的不同組合的個數。
輸入描述:
輸入包括乙個整數n(1 ≤ n ≤ 10000)
輸出描述:
輸出乙個整數,表示不同的組合方案數
輸入例子1:
輸出例子1:
問題是要求不同硬幣的組合方案數。假設d[sum]表示金額sum的組合數,那麼可以根據sum是否使用某種硬幣coins[j],分解為
d[sum] = d[sum]+d[sum-coins[j]]
n = int(raw_input())
coins = [1, 5, 10, 20, 50, 100]
d = [0 for i in range(n+1)]
d[0] = 1
for i in range(n+1):
for j in range(len(coins)):
if i>=coins[j]:
d[i] += d[i-coins[j]]
print d[n]
[程式設計題] 最大矩形面積時間限制:1秒
空間限制:32768k
給定一組非負整數組成的陣列h,代表一組柱狀圖的高度,其中每個柱子的寬度都為1。 在這組柱狀圖中找到能組成的最大矩形的面積(如圖所示)。 入參h為乙個整型陣列,代表每個柱子的高度,返回面積的值。
輸入描述:
輸入包括兩行,第一行包含乙個整數n(1 ≤ n ≤ 10000)輸出描述:第二行包括n個整數,表示h陣列中的每個值,h_i(1 ≤ h_i ≤ 1,000,000)
輸出乙個整數,表示最大的矩陣面積。輸入例子1:2 1 5 6 2 3輸出例子1:
10
n = int(raw_input())
arr = map(int, raw_input().split())
stack = [-1]
ans = 0
for i in range(n+1):
while arr[i] < arr[stack[-1]]:
h = arr[stack.pop()]
w = i - stack[-1] -1
ans = max(ans, h*w)
arr.pop()
print ans
[程式設計題] 最長公共連續子串時間限制:1秒
空間限制:32768k
給出兩個字串(可能包含空格),找出其中最長的公共連續子串,輸出其長度。
輸入描述:
輸入為兩行字串(可能包含空格),長度均小於等於50.輸出描述:輸出為乙個整數,表示最長公共連續子串的長度。輸入例子1:abcde輸出例子1:abgde
2
def find_lcsubstr(s1, s2):
m=[[0 for i in range(len(s2)+1)] for j in range(len(s1)+1)]
mmax=0
p=0
for i in range(len(s1)):
for j in range(len(s2)):
if s1[i]==s2[j]:
m[i+1][j+1]=m[i][j]+1
if m[i+1][j+1]>mmax:
mmax=m[i+1][j+1]
p=i+1
return mmax
str1 = raw_input()
str2 = raw_input()
if __name__ == '__main__':
print find_lcsubstr(str1, str2)
2018 3美團程式設計題
程式設計題1 給定乙個序列,輸出這個序列子串的和為k的倍數的子串的長度,如果有重複,輸出最大長度。例如 序列為 k 5 那麼子串的和為5的倍數的有,而這時長度最大的是5,所以輸出5。int count 0 for int i 0 i n i if count n i break cout count...
2017美團面試演算法題
9月份去參加美團的面試,遇到乙個挺有意思的題,哈哈哈,現摘錄如下 問題描述 將1到9九個數字填入上圖,每個數字能且僅能使用一次,使得三條邊的四個數字之和相等。解答 將a1到a9排成一排,然後求全排列,如果滿足a1 a2 a3 a4 a4 a5 a6 a7 a1 a7 a8 a9,則為輸出。據此程式設...
2017美團秋招筆試程式設計題 後台研發
1 求所有能被7整除的數字 分析 方法一 採用暴力解法,即兩兩數字都組合一遍對7取餘判斷的方法,演算法複雜度o n2 會超時,提交成功率為70 方法二 求乙個數a前面拼接上什麼數能夠被7整除,只需進行以下操作即可 數a前面依次拼上0 6,變為0a,1a,2a 6a。依次判斷這7個數能否被7整除 以1...