亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

您現(xiàn)在的位置是:首頁 > 技術(shù)閱讀 >  分享大廠的一些筆試題目

分享大廠的一些筆試題目

時(shí)間:2024-02-10


樂鑫

  1. 簽到題

  2. 完全k叉樹, 完全不會.

樂鑫的筆試題是我做過最難的, 后面批次的, 我聽說直接和高數(shù)相關(guān), 用編程來求解數(shù)學(xué)問題.

vivo

  1. 簽到題

  2. 01背包原題

  3. 圖的關(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都掛了

  1. leetcode75題顏色分類原題

  2. 給定一個隨機(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語言.

寫一下比較有印象的題目:

  1. 求container_of

這是我在rt-thread的源碼里翻出來的

#define rt_container_of(ptr, type,  member) \      ((type *)((char *)(ptr) - (unsigned long)(&((type  *)0)->member)))

  1. 求1~n中字符1出現(xiàn)的次數(shù)(劍指offer原題)

這題大意了, 當(dāng)作簽到題來做了, 不過力扣是困難題, 應(yīng)該也是不會做.

  1. 給定精度n, 求pi

第3題實(shí)在不會做, 在網(wǎng)上找了也沒找到看得懂的方法.

大疆給得真的好高, 好好做.

諾瓦科技

一些跨時(shí)鐘域的問題不會

編程題一道是串口轉(zhuǎn)并口

一道是64位全加器, 但是由于器件特性, 不能使用reg [63:0]這樣的寄存器.

榮耀

  1. 簽到題. 輸入是一行有字母有數(shù)字的字符串, 問輸入的數(shù)字可組成十進(jìn)制數(shù).

  2. 動態(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ù)組來保存路徑.

  1. 有一個3*3的矩陣
123
456
789

相鄰的元素代表可直接到達(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)

  1. 小美的序列檢查

小美給小團(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)行多組詢問.

哈希表解決

  1. 小美的回文串構(gòu)建

同力扣214. 最短回文串(困難)

  1. 機(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.

  1. 小美最快到達(dá)時(shí)間

一個圖的最短路徑問題.

只A了前兩道, 還是暴力做出來的.

科大訊飛

  1. 將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)?

  1. 輸入一個字符串, 該字符串最多只會出現(xiàn)小寫字母和'?', '?'可以代替任意一種小寫字母, 求該字符串能包含26種小寫字母的最小區(qū)間長度.

使用哈希表+雙指針做出來了.

  1. 輸入二叉樹和常數(shù)k, 求有多少對葉子節(jié)點(diǎn)的距離為k.

這道題做了好久, 最終只通過20%.

小馬智行

選擇題涉及C語言基礎(chǔ), 單片機(jī)基礎(chǔ), Linux內(nèi)核基礎(chǔ).

問答題:

  1. 簡述操作系統(tǒng)發(fā)生中斷到響應(yīng)中斷的過程.

這題我采用的是韋東山講解Linux對中斷的處理演進(jìn)那一章的知識.

  1. 簡述uart, spi, iic的異同.

編程題:

  1. 合并兩個升序鏈表, 力扣有原題.

  2. 從一串格式字符串中解析出日期. 比較麻煩的是格式字符串可能會不符合格式, 至于會怎樣不符合格式, 你要自己去猜一下.

"$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 != 9return 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 == 0return 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, 推理題, 程序填空題, 程序改錯題.

編程題:

  1. 又到了一學(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;
}

  1. 長城上有連成一排的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] += 1break;
                case 'O'case 'P'case 'Y'case 'E':
                case 'S': ht[tolower(ch)] += 2break;
                defaultbreak;
            }
        }
        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] == 0return 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<intisUsed(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



往期推薦



騰訊 C++ 筆試/面試題及答案

網(wǎng)傳阿里裁員2萬人…

介紹一個C++中非常有用的設(shè)計(jì)模式

研究了一下Android JNI,有幾個知識點(diǎn)不太懂。

Effective c++

60 張圖詳解 98 個常見網(wǎng)絡(luò)概念

沒辦法,基因決定的!

C++的lambda是函數(shù)還是對象?

深入理解glibc malloc:內(nèi)存分配器實(shí)現(xiàn)原理

到底什么是掛載?

C/C++為什么要專門設(shè)計(jì)個do…while?

推薦一個學(xué)習(xí)技術(shù)的好網(wǎng)站

為什么空類大小是1

在部隊(duì)當(dāng)程序員有多爽?

Linux最大并發(fā)數(shù)是多少?

主站蜘蛛池模板: 彝良县| 武山县| 绿春县| 彭山县| 沂源县| 青川县| 建始县| 宕昌县| 徐水县| 永泰县| 庄河市| 丹寨县| 探索| 呼玛县| 虎林市| 西宁市| 吉林省| 南宁市| 遂川县| 灯塔市| 延津县| 家居| 枝江市| 高阳县| 房产| 德清县| 陇南市| 台北县| 花莲县| 泸州市| 鄂托克旗| 宜章县| 安庆市| 长宁区| 邹平县| 巴马| 瑞丽市| 吉木乃县| 尚志市| 政和县| 浦北县|