力扣
ccccchelsea
这个作者很懒,什么都没留下…
展开
-
面试题29. 顺时针打印矩阵
题目输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2:输入:matrix =[[1,2,3,4],[5,6,7,8],[9,10,11,12]]输出:[1,2,3,4,8,12,11,10,9,5,6,7]限制:...原创 2020-04-20 13:34:13 · 138 阅读 · 0 评论 -
面试题63. 股票的最大利润
题目假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。示例 2:输入: ...原创 2020-04-20 10:47:07 · 147 阅读 · 0 评论 -
面试题13. 机器人的运动范围
题目地上有一个m行n列的方格,从坐标[0,0]到坐标[m-1,n-1]。一个机器人从坐标[0, 0]的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够...原创 2020-04-08 17:47:34 · 123 阅读 · 0 评论 -
面试题49. 丑数
题目我们把只包含因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。说明:1是丑数。n不超过1690。来源:力扣(LeetCode)链接:https://leetcode-cn.co...原创 2020-04-04 18:15:41 · 74 阅读 · 0 评论 -
在二叉树中增加一行
题目给定一个二叉树,根节点为第1层,深度为 1。在其第d层追加一行值为v的节点。添加规则:给定一个深度值 d (正整数),针对深度为 d-1 层的每一非空节点 N,为 N 创建两个值为v的左子树和右子树。将N 原先的左子树,连接为新节点v 的左子树;将N 原先的右子树,连接为新节点v 的右子树。如果 d 的值为 1,深度 d - 1 不存在,则创建一个新的根节点...原创 2020-04-02 17:08:38 · 141 阅读 · 0 评论 -
栈的压入、弹出序列
题目输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。示例 1:输入:pushed = [1,2,3,4,5], popped = [4,5,...原创 2020-04-02 16:27:21 · 58 阅读 · 0 评论 -
整数反转
题目给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21思路可以说是暴力吧,我也没考虑其他的方法了代码class Solution: def reverse(self, x: int) -> int:...原创 2020-04-02 15:57:46 · 68 阅读 · 0 评论 -
绝对值表达式的最大值
题目给你两个长度相等的整数数组,返回下面表达式的最大值:|arr1[i] - arr1[j]| + |arr2[i] - arr2[j]| + |i - j|其中下标 i,j 满足0 <= i, j < arr1.length。示例 1:输入:arr1 = [1,2,3,4], arr2 = [-1,4,5,6]输出:13示例 2:输入:arr1 =...原创 2020-04-01 16:52:11 · 431 阅读 · 0 评论 -
面试题10- II. 青蛙跳台阶问题
题目一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21思路挺简单的一道题,主要是用斐波那契数列的方法,但是这道题中f0=1,f1=1,fn=fn-...原创 2020-04-01 15:55:39 · 91 阅读 · 0 评论 -
杨辉三角
题目给定一个非负整数numRows,生成杨辉三角的前numRows行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1],[1,4,6,4,1]]思路这是我在力扣上看见的一个巧解的做法,在上一行的首尾都加上0之后相加,例如:121与1331,121...原创 2020-04-01 15:41:32 · 103 阅读 · 0 评论 -
区域和检索 - 数组不可变
题目给定一个整数数组 nums,求出数组从索引i到j(i≤j) 范围内元素的总和,包含i,j两点。示例:给定 nums = [-2, 0, 3, -5, 2, -1],求和函数为 sumRange()sumRange(0, 2) -> 1sumRange(2, 5) -> -1sumRange(0, 5) -> -3说明:你可以假...原创 2020-03-31 16:08:32 · 72 阅读 · 0 评论 -
面试题56 - I. 数组中数字出现的次数
题目一个整型数组nums里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例 1:输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例 2:输入:nums = [1,2,10,4,1,4,3,3]输出:[2,10] 或 [10,2]限制:2 <...原创 2020-03-29 16:02:00 · 97 阅读 · 0 评论 -
面试题28. 对称的二叉树
题目请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。例如,二叉树[1,2,2,3,4,4,3] 是对称的。1/ \2 2/ \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3] 则不是镜像对称的:1/ \2 2\ \3 ...原创 2020-03-29 15:01:04 · 121 阅读 · 1 评论 -
加一
题目给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321...原创 2020-02-16 16:51:12 · 125 阅读 · 0 评论 -
两两交换链表中的节点
题目给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs思路正在上传…重新上传取消...原创 2020-02-14 16:23:10 · 96 阅读 · 0 评论 -
面试题 02.02. 返回倒数第 k 个节点
题目实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。注意:本题相对原题稍作改动示例:输入: 1->2->3->4->5 和 k = 2输出: 4链接:https://leetcode-cn.com/problems/kth-node-from-end-of-list-lcci思路运用双指针思路,k为目标节点距离最后一个节点的距...原创 2020-02-14 14:53:05 · 149 阅读 · 0 评论 -
二进制链表转整数
题目给你一个单链表的引用结点head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的 十进制值 。示例 1:输入:head = [1,0,1]输出:5解释:二进制数 (101) 转化为十进制数 (5)链接:https://leetcode-cn.com/problems/convert-binary-nu...原创 2020-02-14 14:31:23 · 101 阅读 · 0 评论 -
面试题 02.03. 删除中间节点
题目实现一种算法,删除单向链表中间的某个节点(除了第一个和最后一个节点,不一定是中间节点),假定你只能访问该节点。示例:输入:单向链表a->b->c->d->e->f中的节点c结果:不返回任何数据,但该链表变为a->b->d->e->f链接:https://leetcode-cn.com/problems/delete...原创 2020-02-14 14:11:55 · 223 阅读 · 0 评论 -
合并两个有序链表
题目将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4链接:https://leetcode-cn.com/problems/merge-two-sorted-lists思路递归思路,判断当前...原创 2020-02-14 11:39:39 · 114 阅读 · 0 评论 -
删除链表的倒数第N个节点
题目给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.链接:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list...原创 2020-02-13 16:11:26 · 76 阅读 · 0 评论 -
两数相加
题目给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> ...原创 2020-02-13 15:37:39 · 53 阅读 · 0 评论 -
合并两个有序数组
给定两个有序整数数组nums1和nums2,将nums2合并到nums1中,使得num1成为一个有序数组。说明:初始化nums1和nums2的元素数量分别为m和n。 你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存nums2中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 ...原创 2019-12-18 20:44:20 · 54 阅读 · 0 评论 -
搜索二维矩阵 II
编写一个高效的算法来搜索mxn矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。 每列的元素从上到下升序排列。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 1...原创 2019-12-18 20:28:02 · 136 阅读 · 1 评论 -
多数元素
给定一个大小为n的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例1:输入: [3,2,3]输出: 3示例2:输入: [2,2,1,1,1,2,2]输出: 2class Solution: def majorityElement(self, nums: ...原创 2019-12-18 17:04:17 · 237 阅读 · 0 评论 -
只出现一次的数字 python3
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4思路排序数组,然后遍历,如果第一个数和第二个数相等,则删除这两个数,注意这里删除的时候用del...原创 2019-12-17 21:05:29 · 135 阅读 · 0 评论