摘要: 问题是: 给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 说明: 可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。 你算法的时间复杂度应该为 O(n2) 。 进阶: 你能将算法的时间复杂度降低到 O(n log n) 吗? 首先是 复杂度为 O(n^2) 的解法: 利用 阅读全文
posted @ 2019-07-19 22:30 湛蓝的家 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 找到给定字符串(由小写字符组成)中的最长子串 T , 要求 T 中的每一字符出现次数都不少于 k 。输出 T 的长度。 示例 1: 示例 2: 首先遍历原字符串统计每个字符出现的次数,并保存在一个新的对象中; 然后遍历该对象,找到出现次数少于 k 的字符,并根据该字符分割原字符串,再分析子字符串 阅读全文
posted @ 2019-07-19 15:05 湛蓝的家 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口 k 内的数字。滑动窗口每次只向右移动一位。 返回滑动窗口最大值。 示例: 阅读全文
posted @ 2019-07-19 10:30 湛蓝的家 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) -- 将元素 x 推入栈中。 pop() -- 删除栈顶的元素。 top() -- 获取栈顶元素。 getMin() -- 检索栈中的最小元素。 示例: 阅读全文
posted @ 2019-07-19 10:07 湛蓝的家 阅读(761) 评论(0) 推荐(0) 编辑