2020阿里實習4 22筆試

2021-10-05 08:51:14 字數 700 閱讀 7840

給定倆個整數n和m,n能拆分成m個數的和,對於任何乙個數字組合不能同時滿足以下兩個條件:

任取乙個數字

1、該數的前乙個數比它大

2、該數的後乙個數比它大

問題是求出在這樣的條件下拆分n的最大組合數。

例如:輸入5 3

輸出5示例解釋:

error不滿足

解決思路:深搜+剪枝,複雜度o((n-m)^m),暫時沒想到更快的解法

public

class

main

for(

int i =

1; i <= differ; i++)if

(pos >1&&

(numberpos[pos]

> numberpos[pos -1]

&& numberpos[pos -1]

< numberpos[pos -2]

))dfs(numberpos, pos +1)

;if(allocated == n && pos == numberpos.length -1)

allocated -= i;

numberpos[pos]-=1

;}}public

static

void

main

(string[

] args)

}

華為2020筆試

輸入n個字元,求他們有多少種排列 abc 6種 abc acb.aab 3種 n 8 數列範圍較小,所以直接全排列,暴力判重,就是不知道為啥乙個點一直沒過。判斷讀入為空的原因?include includeusing namespace std int g 100000 10 int a 10 in...

刷題 阿里20200330筆試

目錄 第1題第2題 總結 小強有n個養雞場,第i個養雞場初始有a i 只小雞。與其他養雞場不同的是,他的養雞場每天增加k只小雞,小強每天結束都會在數量最多的養雞場裡賣掉一半的小雞,假如乙個養雞場有x隻雞,則賣出後只剩下x 2 向下取整 隻雞。問m天後小強的n個養雞場一共多少只小雞?最後幾分鐘a了,很...

網易2020筆試真題 序列交換

題目描述 小易給你乙個包含n個數字的陣列a1,a2,an。你可以對這個陣列執行任意以下交換操作 對於陣列中的兩個下標i,j 1 i,j n 如果ai aj為奇數,就可以交換ai和aj 現在允許你使用操作次數不限,小易希望你能求出在所有通過若干次操作可以得到的陣列中,字典序最小的乙個是什麼 輸入描述 ...