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 ...