騰訊2020校招 小Q逛街看樓

2021-10-08 03:12:56 字數 1153 閱讀 2299

小q在週末的時候和他的小夥伴來到大城市逛街,一條步行街上有很多高樓,共有n座高樓排成一行。

小q從第一棟一直走到了最後一棟,小q從來都沒有見到這麼多的樓,所以他想知道他在每棟樓的位置處能看到多少棟樓呢?(當前面的樓的高度大於等於後面的樓時,後面的樓將被擋住) 

輸入描述:

輸入第一行將包含乙個數字n,代表樓的棟數,接下來的一行將包含n個數字wi(1<=i<=n),代表每一棟樓的高度。

1<=n<=100000;

1<=wi<=100000; 

輸出描述:

輸出一行,包含空格分割的n個數字vi,分別代表小q在第i棟樓時能看到的樓的數量。
輸入例子1:

6

5 3 8 3 2 5

輸出例子1:

3 3 5 4 4 4
例子說明1:

當小q處於位置3時,他可以向前看到位置2,1處的樓,向後看到位置4,6處的樓,加上第3棟樓,共可看到5棟樓。當小q處於位置4時,他可以向前看到位置3處的樓,向後看到位置5,6處的樓,加上第4棟樓,共可看到4棟樓。
public static void num1()

for(int i =0;i=0;j--)

}// 看右邊的

for(int j = i+1;jmaxright)

}system.out.print(num+" ");

}}

此種方法雖然可以解,但是複雜度很高,並不滿足題目要求

public static void num()

int b = new int[n];

// 單調棧

stacklstack = new stack<>();

stackrstack = new stack<>();

for (int i = 0;i=lstack.peek())

lstack.add(a[i]);

}for (int i = n-1;i>=0;i--)

rstack.add(a[i]);

}for (int i = 0;i}

小Q的歌單 騰訊2018秋招

題目描述 小q有x首長度為a的不同的歌和y首長度為b的不同的歌,現在小q想用這些歌組成乙個總長度正好為k的歌單,每首歌最多只能在歌單 現一次,在不考慮歌單內歌曲的先後順序的情況下,請問有多少種組成歌單的方法。輸入描述 每個輸入包含乙個測試用例 每個測試的第一行包含乙個整數,表示歌單的總長度k 1 k...

騰訊校招面試隨筆

到了面試官的房間,我先是遞上簡歷,然後就針對我簡歷上的兩個專案問了一下,第乙個專案是基於socket 通訊傳送和接受資料的,所以其實不是很複雜,挺簡單的乙個專案,然後就問了一下socket方面的一些知識,tcp和udp的區別,還問道了tcp和udp包的大小,說實話這個問確實忘記了,然後問了下mtu是...

2020校招8 17日騰訊技術筆試題1

題目 給你乙個壓縮字串,讓你進行解壓縮,例如abcabcabc會被壓縮成 3 abc 輸入 壓縮字串 2 a 2 bc 輸出 解壓後的字串 abcbcabcbc 方法 用棧來存 思路 見到括號這些的題都應該用棧,讓其一直入棧,直到 有括號進棧,則讓其中元素依次出棧,直到第乙個 左括號出棧,然後進行解...