2018今日頭條春招

本來不想寫題解的只祠。畅卓。可是今日頭條要4.1號(hào)才出題解那我就蠻寫一下咯(昨天做完題要和GF視頻就沒寫了
ios崗只有3題編程
1.輸入一個(gè)數(shù)組徒仓,尋找一個(gè)嚴(yán)格按照先遞增后遞減的數(shù)組,輸出區(qū)間的標(biāo)號(hào)洁墙,如果沒有就輸出-1 -1
思路就是掃一遍遞增的開始的前置位蛹疯,再掃一遍遞減的后置位,然后減一下找最大值

#include <bits/stdc++.h>
#define rep(i,a,b) for (int i=a;i<b;i++)
using namespace std;
const int N=1e7+11;
int l[N],r[N],a[N];
int main()
{
    int n;
    cin>>n;
    rep(i,0,n)
    scanf("%d",&a[i+1]);
    a[0]=INT_MAX;
    l[0]=0;
    rep(i,1,n+1)
    if (a[i]>a[i-1])l[i]=l[i-1];
    else l[i]=i;
    a[n+1]=INT_MAX;
    for (int i=n;i>=1;i--)
    if (a[i]>a[i+1]) r[i]=r[i+1];
    else r[i]=i;
    int ans=-120,al=0,ar=0;
    rep(i,2,n)
        if (-l[i]+r[i]>ans&&l[i]!=i&&r[i]!=i) al=l[i],ar=r[i],ans=r[i]-l[i];
    cout<<al-1<<' '<<ar-1<<endl;
    return 0;
}

2.第二題給n個(gè)句子热监,然后給m個(gè)查詢捺弦,查詢給的結(jié)果是之前句子中單詞匹配數(shù)最高的結(jié)果
首先把每個(gè)句子把單詞做切分,構(gòu)成n個(gè)set孝扛,然后每次查詢也把句子通過單詞做一次切分列吼,然后遍歷n個(gè)set每次把查詢set中的成員來統(tǒng)計(jì)匹配數(shù)量

#include <bits/stdc++.h>
#define rep(i,a,b) for (int i=a;i<b;i++)
using namespace std;
const int N=2e4+100;
char s[N];
char dic[666][N];
set<string>se[666],a;
set<string>::iterator it;
int main()
{
    int n,m;
    cin>>n>>m;
    getchar();
    rep(i,0,n)
    {
        gets(s);
        strcpy(dic[i], s);
        string st;
        int len=strlen(s);s[len++]=' ';s[len]=0;
        for (int j=0;s[j];j++)
        if (s[j]==' ') se[i].insert(st),st.clear();
        else st+=s[j];
    }
    rep(i,0,m)
    {

        gets(s);
        string st;
        a.clear();
        int len=strlen(s);s[len++]=' ';s[len]=0;
        for (int j=0;s[j];j++)
        if (s[j]==' ') a.insert(st),st.clear();
        else st+=s[j];
        int ans=0,p=-1;
        rep(j,0,n)
        {
            int tot=0;
            for (it=a.begin();it!=a.end();it++)
              if (se[j].count(*it)) tot++;
            if (tot>ans) ans=tot,p=j;
        }
        printf("%s\n",dic[p]);
    }
    return 0;
}
/*
6 3
An algorithm is an effective method that can be expressed within a finite amount of space and time
Starting from an initial state and initial input the instructions describe a computation
That when executed proceeds through a finite number of successive states
Eventually producing output and terminating at a final ending state
The transition from one state to the next is not necessarily deterministic
Some algorithms known as randomized algorithms incorporate random input
Next to the transition
Wormhole infinite time and space
The transition from one state to the next is not necessarily deterministic
*/

3.有兩個(gè)等長(zhǎng)數(shù)組A和B,每次查詢時(shí)候兩個(gè)數(shù)a,b苦始,求同時(shí)存在a<=A[i]&&b<=B[i]的數(shù)量
首先把A和B綁定起來按A排個(gè)序寞钥,然后我們要求(a,b)成立的個(gè)數(shù),從最大的A[i]中往小的遍歷盈简,找到零界值,然后代表著這個(gè)區(qū)間內(nèi)a肯定是滿足條件的太示,接下來就要看b在這個(gè)區(qū)間內(nèi)滿足<B的個(gè)數(shù)柠贤。因?yàn)樗o的數(shù)據(jù)量都是1e5,所以按普通的遍歷估計(jì)是不行的类缤,所以我用了一個(gè)線段樹來進(jìn)行這種查詢臼勉。把這個(gè)區(qū)間內(nèi)的B[i]全部加入線段樹內(nèi),然后每次查詢時(shí)候時(shí)間復(fù)雜度就是O(lg N) (為什么的話自己去看線段樹咯~) 然后每次就用b為索引進(jìn)行查詢餐弱。但是這里有一個(gè)tips宴霸,就是要把查詢的(a,b)組也進(jìn)行排個(gè)序,這樣每次從最大的a開始進(jìn)行建樹膏蚓,這樣可以保證每次查詢的區(qū)間是有小變大的瓢谢,樹大小是遞增的,這樣就可以不用去做delete操作了驮瞧。

#include <bits/stdc++.h>
#define rep(i,a,b) for (int i=a;i<b;i++)
using namespace std;

#define PII pair<int,int>
#define mp make_pair
#define x first
#define y second
const int N=1e5+111;
PII a[N];
struct node
{
    PII b;
    int id;
}q[N];
bool cmp(const node &a,const node &b)
{
    return a.b<b.b;
}
int ans[N];
int f[N<<2],Z,Y=1e5;
int add(int l=1,int r=1e5,int p=1)
{
    int mid=l+r>>1;
    if (l==r) return f[p]=f[p]+1;
    if (Z<=mid) return f[p]=add(l,mid,p*2)+f[2*p+1];
    if (Z>mid) return f[p]=add(mid+1,r,p*2+1)+f[2*p];
}
int ask(int l=1,int r=1e5,int p=1)
{
    int mid=l+r>>1;
    if (Z<=l&&r<=Y) return f[p];
    if (Y<=mid) return ask(l,mid,2*p);
    if (Z>mid) return ask(mid+1,r,2*p+1);
    return ask(l,mid,2*p)+ask(mid+1,r,2*p+1);
}
int main()
{
    int n,m;
    cin>>n>>m;
    rep(i,0,n)
    scanf("%d",&a[i].x);
    rep(i,0,n)
    scanf("%d",&a[i].y);
    sort(a,a+n);
    rep(i,0,m)
    scanf("%d%d",&q[i].b.x,&q[i].b.y),q[i].id=i;
    sort(q,q+m,cmp);
    int p=n-1;  //區(qū)間從后往前擴(kuò)大
    for (int i=m-1;i>=0;i--)
    {
        while (a[p].x>=q[i].b.x&&p>=0)
        {
            Z=a[p].y; //添加a[p].y進(jìn)入樹中
            add();
            p--;
        }
        Z=q[i].b.y; //對(duì)q[i].b.y進(jìn)行查詢
        ans[q[i].id]=ask();
    }
    rep(i,0,m)
    printf("%d\n",ans[i]);
    return 0;
}

/*
3 2
3 2 4
6 5 8
1 1
4 8
*/

可能描述不夠好氓扛,有錯(cuò)誤希望可以指出~THX

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市论笔,隨后出現(xiàn)的幾起案子采郎,更是在濱河造成了極大的恐慌,老刑警劉巖狂魔,帶你破解...
    沈念sama閱讀 222,378評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蒜埋,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡最楷,警方通過查閱死者的電腦和手機(jī)整份,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門待错,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人皂林,你說我怎么就攤上這事朗鸠。” “怎么了础倍?”我有些...
    開封第一講書人閱讀 168,983評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵烛占,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我沟启,道長(zhǎng)忆家,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,938評(píng)論 1 299
  • 正文 為了忘掉前任德迹,我火速辦了婚禮芽卿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘胳搞。我一直安慰自己卸例,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,955評(píng)論 6 398
  • 文/花漫 我一把揭開白布肌毅。 她就那樣靜靜地躺著筷转,像睡著了一般。 火紅的嫁衣襯著肌膚如雪悬而。 梳的紋絲不亂的頭發(fā)上呜舒,一...
    開封第一講書人閱讀 52,549評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音笨奠,去河邊找鬼袭蝗。 笑死,一個(gè)胖子當(dāng)著我的面吹牛般婆,可吹牛的內(nèi)容都是我干的到腥。 我是一名探鬼主播,決...
    沈念sama閱讀 41,063評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼蔚袍,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼左电!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起页响,我...
    開封第一講書人閱讀 39,991評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤篓足,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后闰蚕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體栈拖,經(jīng)...
    沈念sama閱讀 46,522評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,604評(píng)論 3 342
  • 正文 我和宋清朗相戀三年没陡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了涩哟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片索赏。...
    茶點(diǎn)故事閱讀 40,742評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖贴彼,靈堂內(nèi)的尸體忽然破棺而出潜腻,到底是詐尸還是另有隱情,我是刑警寧澤器仗,帶...
    沈念sama閱讀 36,413評(píng)論 5 351
  • 正文 年R本政府宣布融涣,位于F島的核電站,受9級(jí)特大地震影響精钮,放射性物質(zhì)發(fā)生泄漏威鹿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,094評(píng)論 3 335
  • 文/蒙蒙 一轨香、第九天 我趴在偏房一處隱蔽的房頂上張望忽你。 院中可真熱鬧,春花似錦臂容、人聲如沸科雳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)糟秘。三九已至,卻和暖如春丽已,著一層夾襖步出監(jiān)牢的瞬間蚌堵,已是汗流浹背买决。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工沛婴, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人督赤。 一個(gè)月前我還...
    沈念sama閱讀 49,159評(píng)論 3 378
  • 正文 我出身青樓嘁灯,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親躲舌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子丑婿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,747評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,748評(píng)論 0 33
  • 個(gè)人學(xué)習(xí)批處理的初衷來源于實(shí)際工作没卸;在某個(gè)迭代版本有個(gè)BS(安卓手游模擬器)大需求羹奉,從而在測(cè)試過程中就重復(fù)涉及到...
    Luckykailiu閱讀 4,733評(píng)論 0 11
  • 剛寫swift的時(shí)候,用的是Alamofire约计,使用一段時(shí)間后诀拭,上網(wǎng)查了下NSURLSession的原理,并結(jié)合前...
    flyrr閱讀 1,153評(píng)論 0 3
  • 午加餐:饃片晚水果:橘子 參考目標(biāo): 1份豆2份肉3份“新鮮”水果4份谷物/薯5份蔬菜煤蚌,深綠色葉菜最好6杯水 今日...
    靜趣_兒童心理師閱讀 183評(píng)論 0 0
  • 孩兒的生日過去了耕挨,一切仿佛過了一階段细卧。自己也得準(zhǔn)備去第二個(gè)階段。 是夸孩子還是批評(píng)孩子多呢筒占? 要培養(yǎng)孩子的學(xué)習(xí)態(tài)度...
    煙煙兒閱讀 177評(píng)論 0 0