二分
ludan_xia
我很菜 但是我会 一步步地 努力!
展开
-
leetcode 410. 分割数组的最大值
给定一个非负整数数组和一个整数m,你需要将这个数组分成m个非空的连续子数组。设计一个算法使得这m个子数组各自和的最大值最小。注意:数组长度n满足以下条件:1 ≤ n ≤ 10001 ≤ m ≤ min(50, n)示例:输入:nums = [7,2,5,10,8]m = 2输出:18解释:一共有四种方法将nums分割为2个子数组。其中最好的方式是将...原创 2020-03-30 09:42:43 · 95 阅读 · 0 评论 -
leetcode 719. 找出第 k 小的距离对(二分超级好题!)
719. 找出第 k 小的距离对给定一个整数数组,返回所有数对之间的第 k 个最小距离。一对 (A, B) 的距离被定义为 A 和 B 之间的绝对差值。示例 1:输入:nums = [1,3,1]k = 1输出:0 解释:所有数对如下:(1,3) -> 2(1,1) -> 0(3,1) -> 2因此第 1 个最小距离的数对是 (1,1),它们之间的...原创 2020-03-20 21:37:05 · 238 阅读 · 0 评论 -
洛谷_P1182 数列分段 Section II
题目描述对于给定的一个长度为N的正整数数列A_{1\sim N}A1∼N,现要将其分成MM(M\leq NM≤N)段,并要求每段连续,且每段和的最大值最小。关于最大值最小:例如一数列4\ 2\ 4\ 5\ 142451要分成33段。将其如下分段:[4\ 2][4\ 5][1][42][45][1]第一段和为66,第22段和为99,第33...原创 2020-03-13 13:11:50 · 309 阅读 · 0 评论 -
leetcode34. 在排序数组中查找元素的第一个和最后一个位置
class Solution {public: int lower(vector<int>& nums, int target){ int l = 0; int r = nums.size(); int mid; while(l<r){ mid = (l+r)/2; ...原创 2020-03-12 00:25:48 · 127 阅读 · 0 评论 -
leetcode29. 两数相除
给定两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。返回被除数dividend除以除数divisor得到的商。示例1:输入: dividend = 10, divisor = 3输出: 3示例2:输入: dividend = 7, divisor = -3输出: -2说明:被除数和除数均为 32...原创 2020-03-11 22:49:13 · 138 阅读 · 0 评论