今日頭條程式設計題

2022-08-31 08:39:10 字數 2453 閱讀 1531

第一題:

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

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

第一行輸入點集的個數 n, 接下來 n 行,每行兩個數字代表點的 x 軸和 y 軸。

對於 50%的資料, 1 <= n <= 10000;

對於 100%的資料, 1 <= n <= 500000;

輸出描述:

輸出「最大的」 點集合, 按照 x 軸從小到大的方式輸出,每行兩個數字分別代表點的 x 軸和 y軸。
示例1

5

1 25 3

4 67 5

9 0

4 6

7 59 0

1 #include 2 #include 3 #include 4

using

namespace

std;56

struct

point7;

10 point points[500001

];11

bool

cmp(point a,point b)12

1516

intmain()

1724

//按照y公升序,x降序排列

25 sort(points,points+n,cmp);

26point mark;

27 mark.x=points[0

].x;

28 mark.y=points[0

].y;

29 printf("

%d %d\n

",mark.x,mark.y);

30for(int i=0;i)

3138}39

40/*

int maxx = point[n-1].x;

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

4248

} */

49return0;

50 }

view code

給定乙個陣列序列, 需要求選出乙個區間, 使得該區間是所有區間中經過如下計算的值最大的乙個:

區間中的最小數 * 區間所有數的和最後程式輸出經過計算後的最大值即可,不需要輸出具體的區間。如給定序列  [6 2 1]則根據上述公式, 可得到所有可以選定各個區間的計算值:

[6] = 6 * 6 = 36;

[2] = 2 * 2 = 4;

[1] = 1 * 1 = 1;

[6,2] = 2 * 8 = 16;

[2,1] = 1 * 3 = 3;

[6, 2, 1] = 1 * 9 = 9;

從上述計算可見選定區間 [6] ,計算值為 36, 則程式輸出為 36。

區間內的所有數字都在[0, 100]的範圍內;

輸入描述:

第一行輸入陣列序列長度n,第二行輸入陣列序列。

對於 50%的資料, 1 <= n <= 10000;

對於 100%的資料, 1 <= n <= 500000;

輸出描述:

輸出陣列經過計算後的最大值。
示例1

3

6 2 1

36

1 #include 2 #include 3 #include 4

using

namespace

std;

5const

int maxn = 5e5+10;6

inta[maxn];

7intn;8

9int

main()

1017

int max1 = 0;18

for(int i=1;i<=n;i++)

1928

else

break;29

}30for(int j=i+1;j<=n;j++)

3136

else

break;37

}38 max1 = max(max1,sum*min1);39}

40 cout

42return0;

43 }

view code

演算法題 2018今日頭條程式設計題二

使用dp i,j 表示區間 i,j 能得到計算值的最大值 k表示區間 i,j 的最小值min的下標索引 則序列結構可表示如下 i,k 1 min k 1,j i,j 所有子區間分為兩種情況 包含min 不包含min 在所有包含min的子區間 m,n 中,計算值 mi n su m m,n mi n ...

演算法題 2018今日頭條程式設計題一

維持乙個當前邊界點的陣列,按x從小到達排序,由於是邊界點,故其y對應是從大到小排序的。對於乙個新加入的點,分別按x和y座標值二分查詢其在邊界點陣列中的位置 iter x iter y include include include include include include using name...

今日頭條 今日頭條三面面經

一面 1 演算法題,程式設計實現nsum 2 實現元素的居中並且寬高比為3 4 3 實現繼承 4 給了一段 給出輸出結果,這個是和非同步相關 5 http的狀態碼有哪些 6 cookie和session的區別,以及如何生成session 7 給 寫輸出和原型鏈相關 8 變數宣告提公升 三面 1 介紹...