2 位元組跳動 陣列與排序

2021-09-02 22:30:21 字數 2204 閱讀 9782

1、三數之和

原文: 

2、島嶼的最大面積

}原文: 

3、搜尋旋轉排序陣列

public int search(int nums, int target) else 

}//條件2

if (nums[mid] <= nums[right]) else }}

return -1;

}

參考:

4、最長連續遞增序列

參考:

5、陣列中的第k個最大元素

public int findkthlargest(int nums, int k)
參考:

6、最長連續序列

int factorail = 1;//階乘

for(int i=2;i=0)

times--;

}return s.tostring();}}

原文: 

8、朋友圈

原文: 

9、合併區間

// 先對區間進行排序,使用乙個匿名內部類

collections.sort(intervals, new comparator()

});// 排序後,後乙個元素(記為next)的start一定是不小於前乙個(記為prev)start的,

// 對於新加入的區間,假設next.start大於prev.end就說明這兩個區間是分開的,要添

// 加乙個新的區間。否則說明next.start在[prev.start, prev.end]內。則僅僅要看

// next.end是否是大於prev.end,假設大於就要合併區間(擴大)

interval prev = null;

for (interval item : intervals) else if (prev.end < item.end)

}return result;}}

參考:

10、接雨水

原文:

2020 09 06位元組跳動後端

分析 這道題我是用的動態規劃來求解,和傳統的上樓梯問題不同,它多了乙個不能連續走兩步的條件,但我認為沒什麼不同。根據題意,最後一步要麼是2要麼是1,如果最後一步是2,則要考慮不能連續走兩步的限制情況。也就是說,對於乙個已經走到n 2步的人來說,他只能由n 3步走1步得到,而不能由n 4步走兩步得到....

2019位元組跳動實習面試

位元組跳動還是依舊非常注重演算法能力,所以面試過程演算法比重依舊比較大,不知道是不是年前比較缺人的原因,這次面試一共經歷了兩面,而且難度比我去年面試抖音略簡單一下,下面是面試過程的主要題目。1.開始仍舊是常規的自我介紹,接下來重點詢問我在美團實習的經歷,待我將實習內容講解完成以後,主要問我分庫分表按...

9 6 位元組跳動筆試

大概題意 有個樓梯比較高,問有多少種可以方式可以走上去,但有特殊得要求 一是每次可以走一步或者兩步,二是不能連續的走兩步 計算有多少種方法到達頂層 輸入 樓層的層數 輸出 一共有多少種走法 思路 直接dp就好了,設dp方程為dp i 2 dp i 0 表示走一步之後達到第i層,那麼轉移方程就是dp ...