2018頭條 筆試題

2021-08-22 16:24:53 字數 858 閱讀 2417

原題:

p為給定的二維平面整數點集。定義 p 中某點x,如果x滿足 p 中任意點都不在 x 的右上方區域內(橫縱座標都大於x),則稱其為「最大的」。求出所有「最大的」點的集合。(所有點的橫座標和縱座標都不重複, 座標軸範圍在[0, 1e9) 內)

如下圖:實心點為滿足條件的點的集合。請實現**找到集合 p 中的所有 」最大「 點的集合並輸出。

#include 

using

namespace

std;

#define m(a, b) memset(a,b,sizeof(a))

// memset(a,0x3f,sizeof(a))

//memset(a,0xcf,sizeof(a))

typedef

long

long ll;

const

int maxn = 0x3f3f3f3f;

struct node ;

bool node_compare(const node &a, const node &b)

struct node_compare

};int main()

sort(points.begin(), points.end(), node_compare);

int flag[n];

m(flag, 0);

flag[n - 1] = 1;

int mmaxy = points[n - 1].y;

for (int i = n - 2; i >= 0; i--)

for(int i=0;iif(flag[i])

}return

0;}

2023年頭條筆試 球迷

問題描述 1.乙個球場c的球迷看台可容納m n個球迷。官方想統計一共有多少球迷群體,最大的球迷群體有多少人。球迷選座特性 1.1.同球迷群體會選擇相鄰座位,不同球迷群體選擇不相鄰的座位。相鄰包括前後相鄰 左右相鄰 斜對角相鄰 2.給定乙個m n的二位球場,0代表該位置沒人,1代表該位置有人,希望輸出...

今日頭條2018 筆試題2

定義兩個字串變數 s,m,再定義兩種操作,第一種操作 m ss s s 說明 s只會變為原來的2倍 第二中操作 s s m 假設s,m初始化如下 s a m s求最小的操作步驟數,可以將s拼接到長度等於n。示例1 輸入6,輸出3 示例2 輸入4,輸出2 思路 第一種操作,s變為原來的1倍 說明偶數的...

2018今日頭條筆試題 字元交換

level 2018演算法工程師筆試題 discription 字串s由小寫字母構成,長度為n。定義一種操作,每次都可以挑選字串中任意的兩個相鄰字母進行交換。詢問在至多交換m次之後,字串中最多有多少個連續的位置上的字母相同?第一行為乙個字串s與乙個非負整數m。1 s 1000,1 m 1000000...