LeetCode
_威行天下_
世界未亡 死不投降
展开
-
934. 最短的桥
深度遍历(dfs) 和 广度遍历(bfs) 理解今天参加LeetCode周赛时候,把我一直不理解的dfs 和 bfs搞懂了,真的开心!相信我,搞懂我下面这道题,这个概念就理解了!解释**dfs:**一条路走的死,用栈实现,进栈、退栈,一搜到底!一般用递归实现bfs: 辐射八方,用队实现,入队、出队,步步为营!一般用迭代实现举例最短的桥在给定的二维二进制数组 A 中,存在两座岛。...原创 2018-11-04 18:19:18 · 1037 阅读 · 0 评论 -
756. 金字塔转换矩阵
题目描述:现在,我们用一些方块来堆砌一个金字塔。 每个方块用仅包含一个字母的字符串表示,例如 “Z”。使用三元组表示金字塔的堆砌规则如下:(A, B, C) 表示,“C”为顶层方块,方块“A”、“B”分别作为方块“C”下一层的的左、右子块。当且仅当(A, B, C)是被允许的三元组,我们才可以将其堆砌上。初始时,给定金字塔的基层 bottom,用一个字符串表示。一个允许的三元组列表 al...原创 2018-11-28 10:42:17 · 796 阅读 · 0 评论 -
二分搜索
参考相关文章:https://www.zhihu.com/question/36132386直接举例子:数组:a = [1,2,2,3,3,4,4]问题:1. 找到第一个(大于)等于`3`的位置;(答案:`3`)2. 找到第一个大于`3`的位置;(答案:`5`)3. 找到最后一个小于(等于)`3`的位置;(答案:`4`)4. 找到最后一个小于`3`的位置.(答案:`2`)我们知道...原创 2018-11-26 11:28:40 · 111 阅读 · 0 评论 -
698. 划分为k个相等的子集(Python实现)
题目描述:给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。示例:示例 1:输入: nums = [4, 3, 2, 3, 5, 2, 1], k = 4输出: True说明: 有可能将其分成 4 个子集(5),(1,4),(2,3),(2,3)等于总和。注意:1 <= k <= len(nums) &...原创 2018-11-24 15:35:37 · 1043 阅读 · 0 评论 -
861. 翻转矩阵后的得分
题目描述有一个二维矩阵 A 其中每个元素的值为 0 或 1 。移动是指选择任一行或列,并转换该行或列中的每一个值:将所有 0 都更改为 1,将所有 1 都更改为 0。在做出任意次数的移动后,将该矩阵的每一行都按照二进制数来解释,矩阵的得分就是这些数字的总和。返回尽可能高的分数。示例:输入:[[0,0,1,1],[1,0,1,0],[1,1,0,0]]输出:39解释:转换为 [[...原创 2018-11-18 14:08:51 · 175 阅读 · 0 评论 -
592. 分数加减运
题目描述:给定一个表示分数加减运算表达式的字符串,你需要返回一个字符串形式的计算结果。 这个结果应该是不可约分的分数,即最简分数。 如果最终结果是一个整数,例如 2,你需要将它转换成分数形式,其分母为 1。所以在上述例子中, 2 应该被转换为 2/1。示例 1:输入:"-1/2+1/2"输出: "0/1"示例 2:输入:"-1/2+1/2+1/3"输出: &原创 2018-11-17 21:46:48 · 217 阅读 · 0 评论 -
474. 一和零
题型描述在计算机界中,我们总是追求用有限的资源获取最大的收益。现在,假设你分别支配着 m 个 0 和 n 个 1。另外,还有一个仅包含 0 和 1 字符串的数组。你的任务是使用给定的 m 个 0 和 n 个 1 ,找到能拼出存在于数组中的字符串的最大数量。每个 0 和 1 至多被使用一次。注意:给定 0 和 1 的数量都不会超过 100。给定字符串数组的长度不会超过 600。...原创 2018-11-24 09:52:16 · 365 阅读 · 0 评论 -
752. 打开转盘锁
题目描述:你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字: '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' 。每个拨轮可以自由旋转:例如把 '9' 变为 '0','0' 变为 '9' 。每次旋转都只能旋转一个拨轮的一位数字。锁的初始数字为 '0000' ,一个代表四个拨轮的数字的字符串。列表 deadends 包含了一组死亡数字...原创 2018-11-16 20:51:08 · 386 阅读 · 0 评论 -
105. 从前序与中序遍历序列构造二叉树
105. 从前序与中序遍历序列构造二叉树题意: 根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如:前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7思路:前序遍历:根--&amp;amp;gt;左--&amp;amp;gt...原创 2018-09-21 19:43:54 · 109 阅读 · 0 评论 -
148. 排序链表
148. 排序链表题目:在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。示例 1:输入: 4->2->1->3输出: 1->2->3->4示例 2:输入: -1->5->3->4->0输出: -1->0->3->4->5思路:归并排序:分而治之无限划分成小问题原创 2018-11-07 21:32:22 · 90 阅读 · 0 评论 -
701. 二叉搜索树中的插入操作
题目描述给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 保证原始二叉搜索树中不存在新值。注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果示例给定二叉搜索树: 4 / \ 2 7 / \ 1 3和 插入的值: ...原创 2018-11-28 10:43:47 · 113 阅读 · 0 评论