混分力扣
chutongz
在读研究生,目前研究方向为CV方向,欢迎大家一起交流讨论。
展开
-
Leetcode 动态规划の简单题集合训练(198 303 746 1025) python
198.打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。 示例 1: 输入: [1,2,3,1] 输出: 4 解释: 偷窃 1 号房屋 (金额 = 1) ...原创 2019-05-24 14:34:15 · 481 阅读 · 0 评论 -
python实现单链表
class Node: def __init__(self, value): self.val = value self.next = None class Chain(object): def __init__(self, head=None): self.head = head if head: ...原创 2019-07-12 11:24:49 · 202 阅读 · 0 评论 -
Leetcode - 17. 电话号码的字母组合 python
创建好字典,然后用map函数就可以直接做了 class Solution(object): def letterCombinations(self, digits): """ :type digits: str :rtype: List[str] """ d = {'2': ['a', 'b', 'c'], ...原创 2019-07-18 18:00:41 · 325 阅读 · 0 评论 -
Leetcode - 22. 括号生成 python
给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 例如,给出 n = 3,生成结果为: [ “((()))”, “(()())”, “(())()”, “()(())”, “()()()” ] 先写了一种暴力解法,待优化 右括号插入的地方是左括号插入的index+1 然后取set去重 class Solution(object): ...原创 2019-07-18 16:53:15 · 296 阅读 · 0 评论 -
Leetcode 递归の简单题训练集合(687 783 938) python
Q-List687. 最长同值路径783. 二叉搜索树结点最小距离938. 二叉搜索树的范围和 687. 最长同值路径 我觉得这一题好难哇,看了题解写的,个人觉得还是有很多trick……之后还需要慢慢品 这里的“路径”只有两种情况,由父节点向左或向右,并没有父节点在路径中间的情况,评论中有人说有这种情况,但写个测试用例看看就知道其实是不存在这种情况的。 class Solution(object...原创 2019-06-10 20:55:46 · 349 阅读 · 0 评论 -
Leetcode - 24 两两交换链表中的节点 python
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例: 给定 1->2->3->4, 你应该返回 2->1->4->3. 这一题关于递归的写法,看看热评那位大佬的博客就一目了然,地址:http://lylblog.cn/blog/4 我把核心的思路图贴过来 这道题其实一般都会宏观的...原创 2019-06-10 10:20:27 · 499 阅读 · 0 评论 -
Leetcode 二分查找の简单题训练集合(278 367) python
Q-List278. 第一个错误的版本367. 有效的完全平方数 278. 第一个错误的版本 你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。 假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。 你可以通过调用 bool isBa...原创 2019-05-29 20:11:17 · 167 阅读 · 1 评论 -
Leetcode - 19 删除链表的倒数第N个节点 python
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n 保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? 用两个指针,第一个指针先走步,之后建立第二个指针,然后两个指针一起走,直到第一个...原创 2019-06-06 13:32:10 · 141 阅读 · 0 评论 -
Leetcode 链表の简单题训练集合(237 404 876) python
Q-List237.删除链表中的节点707.设计链表876.链表的中间结点 237.删除链表中的节点 这里的node就是链表本身的结构,只用把下一个节点的值和指针赋值给node就行,题目出得比较巧妙吧 class Solution(object): def deleteNode(self, node): """ :type node: ListNode ...原创 2019-06-06 11:14:28 · 268 阅读 · 0 评论 -
Leetcode 树の简单题训练集合(107 226 257 235 404) python
Q-List107. 二叉树的层次遍历 II226. 翻转二叉树257. 二叉树的所有路径235. 二叉搜索树的最近公共祖先 107. 二叉树的层次遍历 II 之前做过一遍,不过觉得这个题挺有意思的,就复习了一遍 基本思想就是建立一个记录每层节点的列表,建立一个记录每层节点值的列表,然后pop出节点,记录值 class Solution(object): def levelOrderBo...原创 2019-05-31 17:31:35 · 254 阅读 · 0 评论 -
Leetcode 排序の简单题训练集合(242 349 922 976 1030) python
Q-List242.有效的字母异位词349.两个数组的交集922. 按奇偶排序数组 II976. 三角形的最大周长1030. 距离顺序排列矩阵单元格 242.有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 输入: s = “anagram”, t = “nagaram” 输出: true 示例 2: 输入: s = “rat”, t...原创 2019-05-28 14:30:01 · 145 阅读 · 0 评论 -
Leetcode 链表の简单题训练集合(160 203 206 234) python
Q-List160.相交链表203.移除链表元素206.反转链表234.回文链表 160.相交链表 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 输出:Referenc...原创 2019-05-27 20:16:36 · 144 阅读 · 0 评论 -
Leetcode - 6 Z字形变换 python
将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下: L C I R E T O E S I I G E D H N 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。 请你实现这个将字符串进行指定行数变换的函数: st...原创 2019-05-23 12:48:52 · 149 阅读 · 0 评论 -
Leetcode - 4 最长的回文串 python(动态规划 && 马拉车)
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: “babad” 输出: “bab” 注意: “aba” 也是一个有效答案。 示例 2: 输入: “cbbd” 输出: “bb” 最初的思路 class Solution(object): def longestPalindrome(self, s): """ ...原创 2019-05-23 15:43:29 · 334 阅读 · 0 评论 -
Leetcode - 3 无重复字符的最长子串 python
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。 示例 3: 输入: “pwwkew” 输出: 3 解释: 因为无重复字符的最长子串是 “wke”,所...原创 2019-05-22 15:23:09 · 190 阅读 · 0 评论 -
Leetcode - 63 不同路径 II python
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径? 网格中的障碍物和空位置分别用 1 和 0 来表示。 说明:m 和 n 的值均不超过 100。 示例 1: 输入: [ [0,0,0],...原创 2019-05-24 19:51:55 · 215 阅读 · 0 评论 -
Leetcode - 62 不同路径 python
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 问总共有多少条不同的路径? 说明:m 和 n 的值均不超过 100。 示例 1: 输入: m = 3, n = 2 输出: 3 解释: 从左上角开始,总共有 3 条路径可以到达右下角。 向右 -> 向...原创 2019-05-24 19:50:46 · 299 阅读 · 0 评论 -
剑指offer 孩子们的游戏(圆圈中剩下的数) python
思路: 先实现一个环,然后循环n–,直到环中只剩下一个node 其实和题解大佬的代码还是有很大差距的,这是我自己理解的一种方法 题解的方法大多是求一个递归公式 # -*- coding:utf-8 -*- class Node: def __init__(self, val=None): self.val = val self.next = None ...原创 2019-08-08 16:43:09 · 314 阅读 · 0 评论