摘要: 问题 输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。 例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。 示例 输入: n = 12 输出: 5 解答 class Solution { public: int countDigitOne(i 阅读全文
posted @ 2021-03-04 22:38 tmpUser 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 问题 输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例 输入: nums = [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 解答 class Solut 阅读全文
posted @ 2021-03-04 19:34 tmpUser 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 问题 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 例如, [2,3,4] 的中位数是 3 [2,3] 的中位数是 (2 + 3) / 2 = 2.5 设计一 阅读全文
posted @ 2021-03-04 19:21 tmpUser 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 问题 输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 示例 输入: arr = [3,2,1], k = 2 输出: [1,2] 或者 [2,1] 输入: arr = [0,1,2,1], k = 1 输出: 阅读全文
posted @ 2021-03-04 18:48 tmpUser 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 快速排序 快速排序算法是一种非线形时间比较类排序算法,它采用了分治的思想: 从数列中取出一个数(随机选择一个数。如果只取第一个数,若整个数组本身就是有序的,那时间复杂度会退化到$O(n^2)$)作为pivot。 将数组进行划分(partition),将比基准数大的元素都移至枢轴右边,将小于等于基准数 阅读全文
posted @ 2021-03-04 16:35 tmpUser 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 问题 给定一些标记了宽度和高度的信封,宽度和高度以整数对形式 (w, h) 出现。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。 请计算最多能有多少个信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。 说明: 不允许旋转信封。 阅读全文
posted @ 2021-03-04 10:50 tmpUser 阅读(40) 评论(0) 推荐(0) 编辑