自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 收藏
  • 关注

原创 Leetcode-72.编辑距离★

题目来源:https://leetcode-cn.com/problems/edit-distance/给你两个单词word1 和word2,请你计算出将word1转换成word2 所使用的最少操作数。你可以对一个单词进行如下三种操作:插入一个字符 删除一个字符 替换一个字符示例1:输入:word1 = "horse", word2 = "ros"输出:3...

2020-04-15 01:52:06 219

原创 剑指offer-45.把数组排成最小的数

题目来源:https://leetcode-cn.com/problems/ba-shu-zu-pai-cheng-zui-xiao-de-shu-lcof/输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。示例 1:输入: [10,2]输出: "102"示例2:输入: [3,30,34,5,9]输出: "3033459"...

2020-04-14 21:51:44 165

原创 Leetcode-152.乘积最大连续子数组

题目来源:https://leetcode-cn.com/problems/maximum-product-subarray/给你一个整数数组 nums,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字)。示例 1:输入: [2,3,-2,4]输出: 6解释:子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释:...

2020-04-14 15:23:35 499

原创 Leetcode-859.亲密字符串

题目来源:https://leetcode-cn.com/problems/buddy-strings/给定两个由小写字母构成的字符串A和B,只要我们可以通过交换A中的两个字母得到与B相等的结果,就返回true;否则返回false。解法:分类讨论:A和B均为空,返回False len(A) != len(B),返回False len(A) = len...

2020-04-06 22:03:57 149

原创 Leetcode-836.矩形重叠★

题目来源:https://leetcode-cn.com/problems/rectangle-overlap/矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标。如果相交的面积为正,则称两矩形重叠。需要明确的是,只在角或边接触的两个矩形不构成重叠。给出两个矩形,判断它们是否重叠并返回结果。示例...

2020-04-06 16:37:55 124

原创 Leetcode-322&面试题08.11 凑硬币

题目来源:https://leetcode-cn.com/problems/coin-lcci/https://leetcode-cn.com/problems/coin-change/322. 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。面试题08.11....

2020-04-04 18:53:07 804

原创 Leetcode-48.旋转图像(旋转矩阵)★

题目来源:https://leetcode-cn.com/problems/rotate-image/给定一个 n×n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。解法一:利用转置先将矩阵转置,再将每一行反转。class Solution(object):...

2020-03-31 17:35:08 270

原创 剑指offer-38.字符串的排列(或数字全排列)

题目来源:https://leetcode-cn.com/problems/zi-fu-chuan-de-pai-lie-lcof/输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。示例:输入:s = "abc"输出:["abc","acb","bac","bca","cab","cba"]思路:选定一个字符作为...

2020-03-29 15:53:34 202

原创 剑指offer-28.对称的二叉树

题目来源:https://leetcode-cn.com/problems/dui-cheng-de-er-cha-shu-lcof/请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。思路:逐个比对左右子树中对应节点的值是否相同即可。class Solution(object): def isSymmetric(self, ...

2020-03-28 23:22:15 66

原创 剑指offer-26.树的子结构

题目来源:https://leetcode-cn.com/problems/shu-de-zi-jie-gou-lcof/输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)B是A的子结构, 即 A中有出现和B相同的结构和节点值。思路:首先要读懂题意,B如果是A的子结构,那么B一定会包含A的某个叶子节点,否则结构就是不同的。按照先序遍历的顺序:(...

2020-03-28 15:34:47 84

原创 剑指offer-62.圆圈中最后剩下的数字(约瑟夫问题)★

题目来源:https://leetcode-cn.com/problems/yuan-quan-zhong-zui-hou-sheng-xia-de-shu-zi-lcof/0,1,,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数...

2020-03-27 17:27:45 170

原创 Leetcode-50.快速幂

题目来源:https://leetcode-cn.com/problems/powx-n/实现pow(x,n),即计算 x 的 n 次幂函数。笔试考到了,那就扩展成大数来做,用快速幂。思路:按照这样递归下去就可以得到pow(x,n),再考虑到n有奇偶两种情况:n为偶数,那么一直递归即可 n为奇数,那么递归完还要乘上x本身class Solution(object)...

2020-03-26 18:07:13 159

原创 Leetcode-105&106.从前序(后序)和中序遍历序列构造二叉树

题目来源:Leetcode 105.https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/Leetcode 106.https://leetcode-cn.com/problems/construct-binary-tree-from-inorder-and-...

2020-03-18 17:49:35 127

原创 Leetcode-114.二叉树展开为链表

题目来源:https://leetcode-cn.com/problems/flatten-binary-tree-to-linked-list/给定一个二叉树,原地将它展开为链表。解法一:非递归思路:判断根节点root是否有左子树,如果有则继续处理,设置pre = root.left 在root.left中找到最右的叶子节点,只要pre.right存在就一直循环。 解释:...

2020-03-17 22:32:13 151

原创 剑指offer-66.构建乘积数组

题目来源:https://leetcode-cn.com/problems/gou-jian-cheng-ji-shu-zu-lcof/给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B 中的元素 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。示例:输入: [1,2,3,4,5]输出: [120...

2020-03-17 17:24:07 104

原创 剑指offer-68.二叉树/二叉搜索树的最近公共祖先

题目来源:二叉搜索树的最近公共祖先https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-zui-jin-gong-gong-zu-xian-lcof/二叉树的最近公共祖先https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree/给定一个二...

2020-03-17 16:54:28 162

原创 剑指offer-58.翻转单词顺序

题目来源:https://leetcode-cn.com/problems/fan-zhuan-dan-ci-shun-xu-lcof/输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. ",则输出"student. a am I"。输入字符串可以在前面或者后面包含多余的空格,但是反转后...

2020-03-16 16:39:58 121

原创 Leetcode-6. Z字形变换

题目来源:https://leetcode-cn.com/problems/zigzag-conversion/将一个给定字符串根据给定的行数,以从上往下、从左到右进行Z 字形排列。比如输入字符串为 "LEETCODEISHIRING"行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读...

2020-03-16 16:14:28 120

原创 剑指offer-48.最长不含重复子串的子字符串

题目来源:https://leetcode-cn.com/problems/zui-chang-bu-han-zhong-fu-zi-fu-de-zi-zi-fu-chuan-lcof/请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 ...

2020-03-15 21:38:08 129

原创 剑指offer-51.数组中的逆序对

题目来源:https://leetcode-cn.com/problems/shu-zu-zhong-de-ni-xu-dui-lcof/在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例 1:输入: [7,5,6,4]输出: 5思路:利用归并排序,归并排序在倒数第二步(即最后的合并之前)...

2020-03-15 17:21:42 145

原创 剑指offer-53.在排序数组中查找数字

题目来源:(两道题仅返回值不同)https://leetcode-cn.com/problems/zai-pai-xu-shu-zu-zhong-cha-zhao-shu-zi-lcof/https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/给定一个按照升序排列...

2020-03-14 21:50:34 72

原创 剑指offer-46.把数字翻译成字符串(动态规划)

题目来源:https://leetcode-cn.com/problems/ba-shu-zi-fan-yi-cheng-zi-fu-chuan-lcof/给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。...

2020-03-14 20:50:04 159

原创 剑指offer-21.调整数组顺序使奇数位于偶数前面

题目来源:https://leetcode-cn.com/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof/输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。示例:输入:nums = [1,2,3,4]输出:[1...

2020-03-14 03:52:39 124

原创 剑指offer-36.二叉搜索树转为双向循环链表(★)

题目来源:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-yu-shuang-xiang-lian-biao-lcof/输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。思路:看到这道题觉得有点绕没去做的我真是个大傻逼。。。最后被自己坑了,还不是要回来做这道题...

2020-03-14 03:20:10 130

原创 剑指offer-31.栈的压入、弹出序列(判断弹出序列是否满足压入序列)

题目来源:https://leetcode-cn.com/problems/zhan-de-ya-ru-dan-chu-xu-lie-lcof/输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1...

2020-03-13 16:48:40 109

原创 剑指offer-39.数组中的多数元素(找众数)

题目来源:https://leetcode-cn.com/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof/https://leetcode-cn.com/problems/majority-element/数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,...

2020-03-13 16:24:13 211

原创 剑指offer-35.复杂链表的复制

题目来源:https://leetcode-cn.com/problems/fu-za-lian-biao-de-fu-zhi-lcof/请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。思路:本质上是要实现一个深拷贝函数(建立新的存储空间),...

2020-03-13 14:34:00 73

原创 剑指offer-33.二叉搜索树的后序遍历序列

题目来源:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-hou-xu-bian-li-xu-lie-lcof/思路:后序遍历的结果中,最后一个值是根节点root。 那么以根为分界,序列中哪些是左子树的、哪些是右子树的呢?找到序列中第一个比root大的,那么在其之前的都是左子树,从其开始的都是右子树。 对左子树判断各值是否小...

2020-03-13 03:30:43 60

原创 剑指offer-32.从上到下打印二叉树(层次遍历/广度优先搜索)★

题目来源:https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-lcof/思路:深度优先搜索利用栈先入后出的特点,广度优先搜索利用队列先入先出的特点。代码:其实就是先序遍历,只是pop出来的是队列的第一个元素。# Definition for a binary tree node.# cl...

2020-03-13 02:26:05 111

原创 Leetcode 142 环形链表II

题目来源:https://leetcode-cn.com/problems/linked-list-cycle-ii/前言:Leetcode 141是判断链表中有没有环,直接快慢双指针走,如果有环,两个指针一定会相交。给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 ...

2020-03-11 14:45:06 123

原创 leetcode 813 - 最大平均和的分组(动态规划)

题目来源:https://leetcode-cn.com/problems/largest-sum-of-averages/我们将给定的数组 A 分成 K 个相邻的非空子数组 ,我们的分数由每个子数组内的平均值的总和构成。计算我们所能得到的最大分数是多少。注意我们必须使用 A 数组中的每一个数进行分组,并且分数不一定需要是整数。示例:输入:A = [9,1,2,3,9]K =...

2020-03-09 20:51:53 197

原创 01背包问题-最后一块石头的重量

题目来源:https://leetcode-cn.com/problems/last-stone-weight-ii/有一堆石头,每块石头的重量都是正整数。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下: 如果 x == y,那么两块石头都会被完全粉碎; 如果 x != y,那么重量为 ...

2020-03-09 16:15:39 114

原创 二叉树-路径总和

题目来源:https://leetcode-cn.com/problems/path-sum-ii/给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明:叶子节点是指没有子节点的节点。首先,从题目的“从根节点到叶子节点”这一句,可以很自然的想到深度先序遍历,按根-左子数-右子树的顺序访问。那么就可以采用先序遍历的形式,每次将当前节点的值记录...

2020-03-08 21:41:45 233

原创 动态规划&二分查找-最长上升子序列(及变型)★

题目来源:https://leetcode-cn.com/problems/longest-increasing-subsequence/给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明: 可能会有多种最长上升子序列的组...

2020-03-08 16:40:17 280

原创 快乐数-快慢指针

题目来源:https://leetcode-cn.com/problems/happy-number/编写一个算法来判断一个数是不是“快乐数”。一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。示例:输入: 19输出: true解释...

2020-03-07 22:18:24 183

原创 面试题-搜索二维矩阵中是否存在目标值

题目来源:https://leetcode-cn.com/problems/search-a-2d-matrix/https://leetcode-cn.com/problems/search-a-2d-matrix-ii/最简单的是暴力遍历,好一点的可以用二分查找。但是这两题其实可以用同一个思路解决:从矩阵的左下角或者右上角开始判断,以左下角开始为例:左下角等于targe...

2020-03-07 15:26:52 166

原创 面试题-基本计算器I

题目来源:https://leetcode-cn.com/problems/basic-calculator/实现一个基本的计算器来计算一个简单的字符串表达式的值。字符串表达式可以包含左括号(,右括号),加号+,减号-,非负整数和空格。示例 3:输入: "(1+(4+5+2)-3)+(6+8)"输出: 23说明:你可以假设所给定的表达式都是有效的。...

2020-03-07 14:12:16 306

原创 面试题-丑数

题目来源:https://leetcode-cn.com/problems/ugly-number/编写一个程序判断给定的数是否为丑数。丑数就是只包含质因数 2, 3, 5 的正整数。示例 1:输入: 6输出: true解释: 6 = 2 × 3说明:1是丑数。 输入不会超过 32 位有符号整数的范围: 。这题解法比较巧妙,一个数如果是丑数,那么它一定是通过...

2020-03-07 13:19:06 203

原创 面试题-数值的整数次方

题目来源:https://leetcode-cn.com/problems/shu-zhi-de-zheng-shu-ci-fang-lcof/实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。示例 1:输入: 2.00000, 10输出: 1024.00000...

2020-03-06 17:06:17 92

原创 面试经典题-鸡蛋掉落

题目来源:https://leetcode-cn.com/problems/super-egg-drop/你将获得 K 个鸡蛋,并可以使用一栋从 1 到 N 共有 N 层楼的建筑。每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。你知道存在楼层 F ,满足 0 <= F <= N 任何从高于 F 的楼层落下的鸡蛋都会碎,从 F 楼层或比它低的楼层落下的鸡蛋都...

2020-03-02 00:42:34 302

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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