whdAlive 's blog

Coding than talking

LeetCode 高级 - 摆动排序 II

高级 [排序&搜索] - 摆动排序 II 给定一个无序的数组 nums,将它重新排列成 nums[0] < nums[1] > nums[2] < nums[3]... 的顺序。 示例 1: 输入:...

2018-05-31 14:37:22

阅读数 758

评论数 1

LeetCode 高级 - 复制带随机指针的链表

复制带随机指针的链表 给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。 要求返回这个链表的深度拷贝。 分析 该题参考 剑指Offer 复杂链表的复制。 思路: 在原链表中插入“影子节点” 根据原节点random 更新影子节点的rando...

2018-05-31 14:04:39

阅读数 829

评论数 0

Android - Style 和 Theme 的那点儿事

Style and Themes 简介 Android 中,Styles 和 Themes 是很重要的一块,很大程度上影响着应用的美观程度,虽然可能在座的广大程序猿要说“好不好看得看 UI 设计啊,即便不好看我也不背锅”,但是如果不了解 Style 和 Theme,当 UI 提供给你一个漂...

2018-05-30 18:29:42

阅读数 594

评论数 0

LeetCode 高级 - Friend Circles

Friend Circles 班上有 N 名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友。所谓的朋友圈,是指所有朋友的集合。 给定一个 N * N 的矩阵 M,表示班级中学生之间的朋友关系。...

2018-05-30 09:58:48

阅读数 384

评论数 0

LeetCode 高级 - Lowest Common Ancestor of a Binary Tree 二叉树的最近公共祖先

Lowest Common Ancestor of a Binary Tree 给定一棵二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义: “对于有根树T的两个结点u、v,最近公共祖先表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。”(一个节点也可以是它自...

2018-05-30 09:26:30

阅读数 42

评论数 0

LeetCode 高级 - 螺旋矩阵

螺旋矩阵 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。 示例 1: 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] 输出: [1,2,3,6,9,8,7,4,5] 示例 2: ...

2018-05-29 12:30:02

阅读数 894

评论数 0

LeetCode 高级 - 正则表达式匹配

正则表达式匹配 给定一个字符串 (s) 和一个字符模式 (p)。实现支持 ‘.’ 和 ‘*’ 的正则表达式匹配。 '.' 匹配任意单个字符。 '*' 匹配零个或多个前面的元素。 匹配应该覆盖整个字符串 (s) ,而不是部分字符串。 说明: s 可能为空,且只包含从 a-z 的小写字母...

2018-05-29 12:11:37

阅读数 2870

评论数 5

LeetCode 高级 - Queue Reconstruction by Height

Queue Reconstruction by Height 假设有打乱顺序的一群人站成一个队列。 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数。 编写一个算法来重建这个队列。 注意: 总人数少于1100人。 示例 输入: [[7,...

2018-05-28 13:05:29

阅读数 267

评论数 0

LeetCode 高级 - 最大数

最大数 给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。 示例 1: 输入: [10,2] 输出: 210 示例 2: 输入: [3,30,34,5,9] 输出: 9534330 说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数。 分析 比较直观的想法...

2018-05-28 12:58:18

阅读数 1232

评论数 0

LeetCode 中级 - 从前序与中序遍历序列构造二叉树

从前序与中序遍历序列构造二叉树 根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15,20,7] 返回如下的二叉树: 3 ...

2018-05-28 12:46:53

阅读数 1973

评论数 3

LeetCode 高级 - 数据流的中位数

数据流的中位数 中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中间两个数的平均值。 例如, [2,3,4] 的中位数是 3 [2,3] 的中位数是 (2 + 3) / 2 = 2.5 设计一个支持以下两种操作的数据结构: void addNum(int num) - 从数据...

2018-05-27 11:18:10

阅读数 364

评论数 0

LeetCode 高级 - 单词拆分

单词拆分 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1: 输入: s = "leetcode...

2018-05-27 11:10:25

阅读数 681

评论数 0

LeetCode 高级 - Perfect Squares

Perfect Squares 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 示例 1: 输入: n = 12 输出: 3 解释: 12 = 4 + 4 + 4. 示例 2: 输入: n = 1...

2018-05-27 11:05:43

阅读数 67

评论数 0

LeetCode 高级 - Best Time to Buy and Sell Stock with Cooldown

Best Time to Buy and Sell Stock with Cooldown 给定一个整数数组,其中第 i 个元素代表了第 i 天的股票价格 。 设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): 你不能同时参与多笔交易(你必...

2018-05-27 10:59:19

阅读数 51

评论数 0

LeetCode 高级 - 乘积最大子序列

乘积最大子序列 给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6。 示例 2: 输入: [-2,0,-1] 输出: 0 解释: 结果不能为 2, ...

2018-05-27 10:51:53

阅读数 797

评论数 0

LeetCode 高级 - Kth Smallest Element in a Sorted Matrix

Kth Smallest Element in a Sorted Matrix 给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素。 请注意,它是排序后的第k小元素,而不是第k个元素。 示例: matrix = [ [ 1, 5, 9], [...

2018-05-27 10:38:10

阅读数 97

评论数 0

LeetCode 高级 - 被围绕的区域

被围绕的区域 给定一个二维的矩阵,包含 ‘X’ 和 ‘O’(字母 O)。 找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。 示例: X X X X X O O X X X O X X O X X 运行你的函数后,矩阵变为: X X X X X X X ...

2018-05-27 10:35:47

阅读数 573

评论数 0

LeetCode 高级 - 合并K个元素的有序链表

合并K个元素的有序链表 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入: [ 1->4->5, 1->3->4, 2->6 ] 输出...

2018-05-27 10:31:01

阅读数 1364

评论数 0

LeetCode 高级 - Basic Calculator II

Basic Calculator II 实现一个基本的计算器来计算一个简单的字符串表达式的值。 字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格。 整数除法仅保留整数部分。 示例 1: 输入: "3+2*2" 输出: 7 示例 2: ...

2018-05-26 10:43:27

阅读数 137

评论数 0

LeetCode 高级 - 寻找重复数

寻找重复数 给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间,包括 1 和 n ,可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。 示例 1: 输入: [1,3,4,2,2] 输出: 2 示例 2: 输入: [3,1,3,4,2] 输...

2018-05-26 10:37:03

阅读数 1994

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭