【題目】
給定陣列,每個元素代表乙個木頭的長度,木頭可以任意截斷,從這堆木頭中截出至少k個相同長度為m的木塊,已知k,求max(m)
public
class
main1
;int k =7;
arrays.
sort
(a);
int m = a[a.length-1]
;for
(int i=
0;i)else
} system.out.
println
(m);
//114
}}
public
class
main
;int k =7;
system.out.
println
(max_m
(l,k));
//114
}//思路:找最大長度m,可能從某個數開始遞減。最大長度max(m)<=陣列中每個數除k之和。
//如:232/7 + 124/7 + 456/7 = 115, 但是從115開始遞減是不夠的,應該從最大值開始遍歷。
//即:從math.max(sum,陣列元素最大值)開始遞減
public
static
intmax_m
(int
l,int k)
int[
] j =
newint
[l.length]
;for
(i =
0; i < l.length; i++
)for
(i =
0; i < l.length -
1; i++)}
max0 = math.
max(sum, l[0]
);for(max = max0; max >=
1; max--)if
(sum >= k)
}return max;
}}
擷取帶HTML標籤的文字 面試題
如果我想從內容中取100個字元出來 注 內容中有html 因為想保留基本的p div img font b i 如何取?取得時候應該考慮哪些問題?快活林顧心懌得分可 倒薩飛機佛擋殺佛1阿飛 2 粉底阿飛第三發嗲發iedfias發的死阿飛第四阿夫頓大佛寺 阿飛大夫額3脎放大發得啊 范德薩范德薩 分大福...
面試題30 最小的k個數
題目 輸入n個整數,找出其中最小的k個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4.思路1,同29題一樣,利用快排思想,醉倒第k大的數,它左邊都比它小即可。o n 2,適合海量資料,利用堆資料結果,取數o 1 刪除和插入需要o k 總共n個數,時間複雜度o ...
面試題30 最小的k個數
輸入n個整數,找出其中最小的k個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4。思路1 按遞增排序,然後輸出前k個數,簡單粗暴,時間複雜度o nlogn 思路2 利用partition演算法,找到第k大數,輸出其左邊k個數,時間複雜度o n 思路3 開乙個規模...