樂鑫
簽到題
完全k叉樹, 完全不會.
樂鑫的筆試題是我做過最難的, 后面批次的, 我聽說直接和高數(shù)相關(guān), 用編程來求解數(shù)學(xué)問題.
vivo
簽到題
01背包原題
圖的關(guān)鍵路徑(不會)
動態(tài)規(guī)劃沒那么難, 經(jīng)典的背包問題, 公共子串問題, 矩陣相關(guān)的問題多在力扣找?guī)椎浪⒁凰?
除了力扣, 在學(xué)習(xí)算法的過程中, 胡凡的<<算法筆記>>也是我經(jīng)常翻閱的一本書, 網(wǎng)上有電子版, 里面很多問題都分析得很清晰.
圖的話, 關(guān)鍵路徑, 拓?fù)渑判? 廣度優(yōu)先, 深度優(yōu)先等有空就看看, 對于嵌入式來說是加分項(xiàng).
大華
基本是C++題目, 坑.
如果比較看重大華, 還是多準(zhǔn)備一下C++基礎(chǔ), 我也想不懂明明是C語言崗位, 搞那么多C++干嘛.
聯(lián)發(fā)科技
最后的編程題是實(shí)現(xiàn)雙向升序鏈表(帶頭節(jié)點(diǎn)的).
后臺出了問題不管怎么提交都是0分.
聯(lián)發(fā)科這道題本身不難, 但是自己很多測試樣例都符合預(yù)期, 提交卻是0分, 有點(diǎn)搞心態(tài)了.
后來筆試通過了, 所有人都是這種情況, 應(yīng)該就是專門來搞你心態(tài)的吧.
蔚來汽車
兩道中等題 100 + 80都掛了
leetcode75題顏色分類原題
給定一個隨機(jī)數(shù)組, 求四個不同的數(shù)使得a+b=c+d
我A了第一道題, 第2題拿了80%的分?jǐn)?shù), 最后筆試沒通過.
后面蔚來給別人開的確實(shí)很高還有期權(quán), 一般感覺上海的廠都要難一點(diǎn).
第2題我用的是先排序, 然后找兩數(shù)之和相等的方法.
力扣里有兩數(shù)之和, 三數(shù)之和, 四數(shù)之和可以多練練.
我的同學(xué)看我練習(xí)求和這么歡樂, 自己搞了個n數(shù)之和.
紫光展銳
太簡單了.
簡單到不記得考過什么...
星宸科技
選擇填空是基本的C語言知識.
關(guān)于函數(shù)指針和函數(shù)指針數(shù)組這一塊不記得怎么做了.
可以參考"C和指針"第13章有關(guān)函數(shù)指針的話題.
(考完這場以后, 我補(bǔ)習(xí)了這塊知識, 后面經(jīng)常被問到).
智力題
0 1 2 3 4 5 6 7 8 9
- - - - - - - - - -
在每個_上填一個數(shù)字, 代表它正上方的數(shù)字在_中將出現(xiàn)的次數(shù).
比如3下面填1, 那么3就在下面出現(xiàn)一次, 比如說是0下面, 那么0就要出現(xiàn)3次.
還有一道小學(xué)數(shù)學(xué)題
兩個線程對初始值為0的變量a進(jìn)行操作(一次), a的可能值, 要寫推理過程.
線程1: a++;a++;
線程2: a += 2;
手寫strcat()
手寫合并升序鏈表, 不可破壞原鏈表.
禾賽科技
做對了2道題都把我掛了(又是上海的公司).
第3題是一道復(fù)雜的排序問題.
好吧, 別人不是小公司, 群里有個搞硬件的拿到了40w多的總包.
諾瓦科技
比較簡單的C語言.
CVTE
有單選題, 不定項(xiàng), 涉及C++, C, Linux驅(qū)動, 簡單的數(shù)據(jù)結(jié)構(gòu)與算法.
兩道編程題:
(1)同leetcode70爬樓梯(要求時(shí)間空間低).
(2)質(zhì)因數(shù)分解.(這里可以參考胡凡的算法筆記).
編程題不能編譯, 不能運(yùn)行, 寫就完事.
大疆
一些選擇填空, 涉及ARM, Linux, C語言.
寫一下比較有印象的題目:
求container_of
這是我在rt-thread的源碼里翻出來的
#define rt_container_of(ptr, type, member) \ ((type *)((char *)(ptr) - (unsigned long)(&((type *)0)->member)))
求1~n中字符1出現(xiàn)的次數(shù)(劍指offer原題)
這題大意了, 當(dāng)作簽到題來做了, 不過力扣是困難題, 應(yīng)該也是不會做.
給定精度n, 求pi
第3題實(shí)在不會做, 在網(wǎng)上找了也沒找到看得懂的方法.
大疆給得真的好高, 好好做.
諾瓦科技
一些跨時(shí)鐘域的問題不會
編程題一道是串口轉(zhuǎn)并口
一道是64位全加器, 但是由于器件特性, 不能使用reg [63:0]這樣的寄存器.
榮耀
簽到題. 輸入是一行有字母有數(shù)字的字符串, 問輸入的數(shù)字可組成十進(jìn)制數(shù).
動態(tài)規(guī)劃走二維矩陣, n*n矩陣?yán)锩嬷挥?1 0 1三種元素, -1代表障礙, 0代表什么也沒有, 1代表怪獸.
奧特曼一開始在(0,0)他要走到(n-1,n-1)然后返回(0,0), 問奧特曼最多可以打敗多少怪獸(怪獸殺死以后就沒了, 對應(yīng)的格子從1變成0. 奧特曼可能無法到達(dá)(n-1,n-1), 這時(shí)要返回0. 往(n-1,n-1)走時(shí), 只能向下或向右移動, 往(0,0)走時(shí), 只能向上或向左移動.
注意, 因?yàn)楣肢F殺死以后就不存在了, 所以要用一個數(shù)組來保存路徑.
有一個3*3的矩陣
1 | 2 | 3 |
---|---|---|
4 | 5 | 6 |
7 | 8 | 9 |
相鄰的元素代表可直接到達(dá), 比如1可到達(dá)2, 2也達(dá)到1, 元素本身也可到達(dá)自己.
即以上矩陣是一個有向有環(huán)圖.
然后題目輸入一些條件, 告訴你要把哪些邊去掉.
然后輸入一個n.
問在走n步的情況下(也可能走不完n步, 每一步都代表經(jīng)過一條邊), 可以組成的數(shù)字最大是多大?
比如n為3, 然后走過1 2 3 3, 那個就組成了1233這個數(shù)字.
沒做出來, 感覺就是深度優(yōu)先.
今年是榮耀第一年校招, 后面給開獎能去到40w, 還是挺不錯的, 好好對待榮耀的考試.
美團(tuán)
小美的序列檢查
小美給小團(tuán)一個m個數(shù)字構(gòu)成的數(shù)字序列, 問小團(tuán)能不能經(jīng)過重新排序后形成1到n的排列.
舉例:
小美給小團(tuán)[2,1,3], 則可以經(jīng)過重新排列后構(gòu)成[1,2,3], 這是可行的.
小美給小團(tuán)[4,4,1,3], 則無法重新排列后構(gòu)成[1,2,3,4], 這是不可行的.
為了防止小團(tuán)碰對答案, 小美會進(jìn)行多組詢問.
哈希表解決
小美的回文串構(gòu)建
同力扣214. 最短回文串(困難)
機(jī)器人爆炸時(shí)刻
小美在數(shù)軸上放置了若干個機(jī)器人, 這些機(jī)器人每到整數(shù)時(shí)刻, 就會檢查是否和其他機(jī)器人重合. 如果重合, 它就會原地爆炸. 這些機(jī)器人的移動速度均為1. 舉例來說, 如果一個機(jī)器人初始位于點(diǎn)3, 然后它的方向是向右的, 則時(shí)刻1會位于點(diǎn)4, 時(shí)刻2會位于點(diǎn)5.
小美給小團(tuán)這樣一個任務(wù): 小美將給出所有機(jī)器人的初始位置和初始朝向. 小團(tuán)的任務(wù)是判斷每個機(jī)器人的爆炸時(shí)刻. 當(dāng)然, 如果有一些機(jī)器人永遠(yuǎn)不會爆炸, 則輸出-1.
小團(tuán)向你求助, 你能幫幫小團(tuán)嗎?
注意事項(xiàng)1: 一個機(jī)器人爆炸了之后, 就不會再繼續(xù)存在在這個數(shù)軸上.
舉例來說, 如果有三個機(jī)器人, 一個位于位置0, 向右, 一個位于位置2, 向右, 一個位于位置4, 向左. 則時(shí)刻1的時(shí)候, 后兩個機(jī)器人會在位置3相遇并發(fā)生爆炸. 此后第一個機(jī)器人和第三個機(jī)器人不會在時(shí)刻2繼續(xù)爆炸(因?yàn)榇藭r(shí)已經(jīng)不存在第三個機(jī)器人了).
注意事項(xiàng)2: 請注意, 只有整數(shù)時(shí)刻機(jī)器人才會檢查重合.
舉例來說, 如果有兩個機(jī)器人, 一個位于位置1, 向右, 一個位于位置2, 向左, 則它們并不會在整數(shù)時(shí)刻重合. 因此它們兩個不存在相遇爆炸.
注意事項(xiàng)3: 保證機(jī)器人初始時(shí)刻不會重疊. 換句話說, 不存在時(shí)刻0就立刻爆炸的機(jī)器人.
輸入描述:
第一行一個正整數(shù)n, 表示有n個機(jī)器人.
接下來n行, 每行一個正整數(shù)和一個字符, 以空格分隔, 正整數(shù)代表機(jī)器人的坐標(biāo), 字符為大寫字母L和R其中的一個, 分別表示機(jī)器人向左運(yùn)動和向右運(yùn)動. (坐標(biāo)不是從小到大錄入的, 是隨機(jī)的)
輸出描述:
輸出n行, 每行一個數(shù)字, 對應(yīng)每個機(jī)器人的答案: 若該機(jī)器人會爆炸, 輸出爆炸時(shí)間; 若該機(jī)器人不會爆炸, 輸出-1.
小美最快到達(dá)時(shí)間
一個圖的最短路徑問題.
只A了前兩道, 還是暴力做出來的.
科大訊飛
將num從右往左的第二個比特0變?yōu)楸忍?.
做的時(shí)候用了最普通的循環(huán)方法.
后來想想可以這樣做:
int ans = ~num; ans = ans & (ans – 1); // 最低比特1位清零 ans = ans & (-ans); // 取最低比特1位 nums |= ans; // num的第二個比特0變?yōu)?
輸入一個字符串, 該字符串最多只會出現(xiàn)小寫字母和'?', '?'可以代替任意一種小寫字母, 求該字符串能包含26種小寫字母的最小區(qū)間長度.
使用哈希表+雙指針做出來了.
輸入二叉樹和常數(shù)k, 求有多少對葉子節(jié)點(diǎn)的距離為k.
這道題做了好久, 最終只通過20%.
小馬智行
選擇題涉及C語言基礎(chǔ), 單片機(jī)基礎(chǔ), Linux內(nèi)核基礎(chǔ).
問答題:
簡述操作系統(tǒng)發(fā)生中斷到響應(yīng)中斷的過程.
這題我采用的是韋東山講解Linux對中斷的處理演進(jìn)那一章的知識.
簡述uart, spi, iic的異同.
編程題:
合并兩個升序鏈表, 力扣有原題.
從一串格式字符串中解析出日期. 比較麻煩的是格式字符串可能會不符合格式, 至于會怎樣不符合格式, 你要自己去猜一下.
"$GPRMC,144326.00,A,5107.0017737,N,11402.3291611,W,0.080,323.3,210307,0.0,E,A*20\r\n"
20070321
從第10段數(shù)據(jù)中解析出正確年月日.
"$GPRMC,144326.00,A,5107.0017737,N,11402.3291611,W,0.080,323.3,21030*,0.0,E,A*20\r\n"
0
格式有錯誤
"$GPRMC,144326.00,A,5107.0017737,N,11402.3291611,W,0.080,323.3,2103,0.0,E,A*20\r\n"
0
日期是從1980.1.1開始到當(dāng)前.
考試系統(tǒng)已經(jīng)給出部分代碼, 我只需要實(shí)現(xiàn)ParseGprmcAndGetDate()函數(shù).
下面是我的答案
#include <stdio.h>
#include <stdint.h>
#include <string.h>
// dd-mm-yy
int ParseGprmcAndGetDate(const char* gprmc_string) {
// 請?jiān)谶@里實(shí)現(xiàn)解析并返回結(jié)果
int cnt = 0;
int i = 0;
int ans = 0;
int dd = 0, mm = 0, yy = 0;
int n = strlen(gprmc_string);
while(i < n && cnt != 9) {
if(gprmc_string[i++] == ',') {
++cnt;
}
}
if(cnt != 9) return 0;
while(i < n && cnt != 10) {
char ch = gprmc_string[i];
if(ch == ',') {
++cnt;
}
else if('0' <= ch && ch <= '9') {
ans = ans * 10 + ch - '0';
}
else {
return 0;
}
++i;
}
yy = ans % 100; ans /= 100;
mm = ans % 100; ans /= 100;
dd = ans;
if(mm == 0 || dd == 0) return 0;
int rslt = 0;
if(80 <= yy && yy <= 99) {
rslt = (1900 + yy) * 10000 + mm * 100 + dd;
}
else if(yy <= 21) {
rslt = (2000 + yy) * 10000 + mm * 100 + dd;
}
return rslt;
}
int main() {
char input_str[1000] = {0};
scanf("%s", input_str);
printf("%d\r\n", ParseGprmcAndGetDate(input_str));
}
小馬這次筆試還是挺簡單的, 聽說以前的筆試題都很難.
360
選擇題什么都有: java, c++, c, 數(shù)據(jù)庫, Linux, 推理題, 程序填空題, 程序改錯題.
編程題:
又到了一學(xué)期一次的大學(xué)生期末考試。但很多人期末考試的卷面成績是不能及格的,需要靠較高的平時(shí)成績來拖上去。平時(shí)成績與期末考試的占比已經(jīng)確定,假設(shè)平時(shí)成績占比為p,期末考試占比為q,平時(shí)分為a,期末考試分?jǐn)?shù)為b,則總成績?yōu)?pa+qb)/100。(平時(shí)分與期末成績都是整數(shù),但總成績可以是小數(shù)。) 饒老師心腸特別好,他希望自己的學(xué)生及格率盡可能的高。但他也堅(jiān)持期末考試分?jǐn)?shù)更高的學(xué)生平時(shí)成績也一定要更高。饒老師想知道在這種情況下,他們班的最大及格人數(shù)是多少(及格是指總成績不低于60分)。
輸入
第一行: 三個正整數(shù)n p q
第二行:n個學(xué)生的期末考試成績
這道題不難, 用貪心做就好了, 倒是自己被數(shù)組下標(biāo)卡了好久, 狀態(tài)不太好.
#include <cstdio>
#include <vector>
#include <algorithm>
#include <cmath>
using namespace std;
int main(int argc, char **argv) {
int n, p, q;
vector<int> nums;
scanf("%d%d%d", &n, &p, &q);
for(int i = 0; i < n; ++i) {
int ans;
scanf("%d", &ans);
nums.push_back(ans);
}
sort(nums.begin(), nums.end());
n = nums.size();
int minDayScore = 100;
// 最高分平時(shí)分滿分也沒辦法及格
if((p * minDayScore + q * nums[n - 1]) < 6000) {
printf("0\n");
return 0;
}
int rslt = 1;
for(int i = n - 2; i >=0; --i) {
if(nums[i] == nums[i + 1]) {
++rslt;
}
else { // nums[i] < nums[i + 1]
minDayScore -= 1;
if(minDayScore < 0) {
break;
}
if((p * minDayScore + q * nums[i]) >= 6000) {
++rslt;
}
else break;
}
}
printf("%d\n", rslt);
return 0;
}
長城上有連成一排的n個烽火臺,每個烽火臺都有士兵駐守。第i個烽火臺駐守著ai個士兵,相鄰峰火臺的距離為1。另外,有m位將軍,每位將軍可以駐守一個峰火臺,每個烽火臺可以有多個將軍駐守,將軍可以影響所有距離他駐守的峰火臺小于等于x的烽火臺。每個烽火臺的基礎(chǔ)戰(zhàn)斗力為士兵數(shù),另外,每個能影響此烽火臺的將軍都能使這個烽火臺的戰(zhàn)斗力提升k。長城的戰(zhàn)斗力為所有烽火臺的戰(zhàn)斗力的最小值。請問長城的最大戰(zhàn)斗力可以是多少?
樣例輸入
5 2 1 2 4 4 2 4 4
樣例輸出
6
提示:
有5個烽火臺,2名將軍,將軍的影響范圍為1,提升戰(zhàn)斗力的值為2。令將軍駐守在第2和第4個烽火臺,這樣所有烽火臺的戰(zhàn)斗力都是6。
完全沒思路.
ARM
選擇題有數(shù)據(jù)結(jié)構(gòu), C語言, Linux, 推理題.
編程題:
(1) 程序改錯: 反轉(zhuǎn)字符串
(2) 程序填空: 判斷有環(huán)鏈表
(3) 程序填空: 將視頻的YUV格式轉(zhuǎn)換為RGB8888格式.
(4) 編程題: 反轉(zhuǎn)字符串中出現(xiàn)的每個單詞, 字符串可能會出現(xiàn)所有可打印字符, 完全由字母組成的一串字符字串可以看作一個單詞.
ARM用的是acmcoder系統(tǒng), 設(shè)置成了不可跳出界面, 編輯器沒有補(bǔ)全, 不可以用tab鍵, 不可以復(fù)制粘貼, 不可以編譯運(yùn)行, 總之體驗(yàn)很差.
英偉達(dá)
選擇題沒什么難度, 就是全英文.
1簽到題.
2.c++重載運(yùn)算符輸出二維矩陣的求和(直接放棄).
3 長度相差1的字符串A B, 如果A刪減一個字符可得到B,則存在A到B的路徑 求一個字符串?dāng)?shù)組的最長路徑長度.
第三題應(yīng)該是轉(zhuǎn)換為圖 然后搜索一下 只做對了一半 被字符串對比函數(shù)卡了好久
英偉達(dá)掛了, 群里有個老哥, 英偉達(dá)給開了30w+40w股票, 爽翻了. 外企作息, 老婆生娃有產(chǎn)假.
燧原
做的什么題目忘了, 感覺題目很一般.
后面也把面試拒了.
OPPO
第1題.
小歐同學(xué)寫了一個隨機(jī)字符串生成機(jī),它會生成長度為[1,10000]之間的字符串mSg,且僅包含小寫字母或者大寫字母。小歐想知道生成的每個字符串msg所包含的字母能拼成多少個 oppoyes(都為小寫),要求msg中的字母不能重復(fù)使用,但是每個大寫字母能當(dāng)作對應(yīng)兩個小寫字母來使用。請幫小歐同學(xué)完成這個需求。
class Solution {
public:
/**
* 代碼中的類名、方法名、參數(shù)名已經(jīng)指定,請勿修改,直接返回方法規(guī)定的值即可
*
* 返回字符串msg包含的字母能拼成oppoyes的數(shù)量
* @param msg string字符串 輸入字符串
* @return int整型
*/
int getCount(string msg) {
// write code here
char ht[300] = {0};
for(auto ch : msg) {
switch (ch) {
case 'o': case 'p': case 'y': case 'e':
case 's': ht[ch] += 1; break;
case 'O': case 'P': case 'Y': case 'E':
case 'S': ht[tolower(ch)] += 2; break;
default: break;
}
}
int rslt = 10000000;
string str("opyes");
for(auto ch : str) {
if(ch == 'o' || ch == 'p') {
ht[tolower(ch)] /= 2;
}
rslt = rslt < ht[ch] ? rslt : ht[ch];
}
return rslt;
}
};
第2題:
給你一個整數(shù)數(shù)組nums,該數(shù)組中至少有一個元素為0,其余的都為正數(shù)。假設(shè)你的起始位置為數(shù)組索引 begin處。當(dāng)你位于數(shù)組任意索引index處時(shí),你可以選擇移動到下一個索引值為index+nums[index]或者index-nums[index]的位置。當(dāng)你想要移動的位置超過數(shù)組邊界時(shí),就采取循環(huán)移動的方式,比如假設(shè)nums長度為10,你想要移動到位置12,那么你實(shí)際移動到位置2,如果你想要移動到-1,那么你實(shí)際移動到9。
請你判斷你是否能移動到數(shù)組中元素值為0的位置。其中,0<nums.size()<10000,0<=nums[index]<10000, 0<=begin<nums.size()
class Solution {
public:
/**
* 代碼中的類名、方法名、參數(shù)名已經(jīng)指定,請勿修改,直接返回方法規(guī)定的值即可
*
* 檢測是否可以從數(shù)組nums的初始位置begin處開始,移動到元素值為0的位置
* @param nums int整型vector 輸入數(shù)組
* @param begin int整型 起始位置
* @return bool布爾型
*/
bool helper(vector<int>& nums, int begin, vector<int> &isUsed) {
int n = nums.size();
if(nums[begin] == 0) return true;
if(isUsed[begin]) return false;
isUsed[begin] = 1;
int left = begin - nums[begin];
int right = begin + nums[begin];
if(left < 0) {
left = n - ((-left) % n);
}
right %= n;
return helper(nums, left, isUsed) || helper(nums, right, isUsed);
}
bool checkReach(vector<int>& nums, int begin) {
// write code here
int n = nums.size();
vector<int> isUsed(n, 0); // isUsed[i]表示索引為i的元素是否已經(jīng)遍歷過
return helper(nums, begin, isUsed);
}
};
第3題:
小歐認(rèn)為這樣的二叉樹屬于漂亮樹:
偶數(shù)層上所有節(jié)點(diǎn)的值都為偶數(shù),且從左往右嚴(yán)格單調(diào)遞增奇數(shù)層上所有節(jié)點(diǎn)的值都為奇數(shù),也滿足從左往右嚴(yán)格單啁遞增下圖所示即為一棵漂亮樹:
其中,二又樹結(jié)點(diǎn)數(shù)量范圍為[1,10 ^ 5],且每個節(jié)點(diǎn)的值的范圍為[0,10 ^ 5]給你一穎二叉樹,請幫小歐判斷其是否屬于漂亮樹。
說明:#表示二叉樹對應(yīng)位置節(jié)點(diǎn)為空
/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
* };
*/
class Solution {
public:
/**
* 代碼中的類名、方法名、參數(shù)名已經(jīng)指定,請勿修改,直接返回方法規(guī)定的值即可
*
* 判斷root是否是一顆漂亮樹
* @param root TreeNode類 二叉樹根節(jié)點(diǎn)
* @return bool布爾型
*/
bool isBeautyTree(TreeNode* root) {
// write code here
queue<TreeNode *> qe;
int curLevel = 0;
int eveodd = 1;
qe.push(root);
while(!qe.empty()) {
int size = qe.size();
eveodd = eveodd ^ 1; // 當(dāng)前是奇數(shù)層還是偶數(shù)層
int preVal;
for(int i = 0; i < size; ++i) {
TreeNode *node = qe.front();
int ans = node->val;
if((ans & 1) != eveodd) return 0;
if(i == 0) {
preVal = ans;
}
else if(ans <= preVal) {
return false;
}
else {
preVal = ans;
}
qe.pop();
if(node->left) qe.push(node->left);
if(node->right) qe.push(node->right);
}
}
return true;
}
};
oppo的題目還是挺簡單的, 很快就全A了.
不過今年oppo大量裁員, 對它的印象不太好. 后面開了34w, 拒了.
vivo
第1題:
某業(yè)務(wù)平臺策劃了一次運(yùn)營推廣活動:通過向新用戶推送廣告消息,吸引用戶到平臺中來。現(xiàn)在已知給用戶 person_i發(fā)推送信息,需要支付cost_i的費(fèi)用,但是該用戶只有p_i(0<=p_i<=1)的概率會被吸引到平臺中,即該用戶的轉(zhuǎn)化期望為p_i,那么定義:期望推廣成本avg_cost=總用/總期望轉(zhuǎn)化用戶數(shù)。
請問:如何選擇用戶并推送廣告,確保 avg_cost<=K的同時(shí)能給平臺吸引到最多的新用戶?
這道題讀完題目沒搞懂, 就放棄了. 只有一個小時(shí), 先看后面.
第2題:
已知完成一個簡單的工作需要1天工時(shí),完成一個中等難度的工作需要2天工時(shí),完成一個困難的工作需要4天工時(shí)。假設(shè)未來4周有n個工作日有空閑時(shí)間可以用來接受這些工作,請編程返回能夠填滿n個工作日所有可能的任務(wù)排列數(shù)可用1,2,4分別表示簡單,中等,困難的任務(wù)。
一開始以為是完全背包的變種, 后來才知道是爬樓梯的變種, 然后在初始值哪里被坑了好久.
這道題全A, 但是做出來時(shí)間所剩無幾了.
第3題:
zeoy同學(xué)正在對wvo游戲中心的某款游戲做分析評估。已知該游戲中有N個武將,每個武將均有K個屬性(例如:武力、智力、敏捷、防御等等),若對于每個屬性來說,武將A該屬性的值都大于武將B該屬性的值,那我們就稱之為武將A碾壓武將B
現(xiàn)給出一個二維數(shù)組 heroes[N][K],其中N表示有多少個武將、K表示有多少個屬性值(每個屬性值均為整數(shù)),請你幫助zeoy在所有武將中挑選出盡可能多的武將,使挑選出來的武將兩兩之間都存在碾壓關(guān)系。請問最多能挑選出多少個符合條件的武將?注:若無法挑出任意兩個武將形成碾壓關(guān)系時(shí),返回0
沒什么思路.
直接return 0;通過率30%.
end
往期推薦