python
文章平均质量分 53
农民小飞侠
如果放弃了,那还谈什么理想
展开
-
[leetcode] 494. Target Sum 目标和-动态规划求解
DescriptionYou are given a list of non-negative integers, a1, a2, …, an, and a target, S. Now you have 2 symbols + and -. For each integer, you should choose one from + and - as its new symbol.Find ...原创 2019-07-27 21:33:34 · 187 阅读 · 1 评论 -
LCR 105. 岛屿的最大面积
给定一个由 0 和 1 组成的非空二维数组 grid ,用来表示海洋岛屿地图。一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。找到给定的二维数组中最大的岛屿面积。如果没有岛屿,则返回面积为 0。输出: 6解释: 对于上面这个给定矩阵应返回 6。注意答案不应该是 11 ,因为岛屿只能包含水平或垂直的四个方向的 1。原创 2024-05-21 21:21:09 · 411 阅读 · 0 评论 -
[leetcode] 188. 买卖股票的最佳时机 IV
给你一个整数数组 prices 和一个整数 k ,其中 prices[i] 是某支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。也就是说,你最多可以买 k 次,卖 k 次。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。原创 2024-05-19 17:15:07 · 247 阅读 · 0 评论 -
[leetcode] 123. Best Time to Buy and Sell Stock III
DescriptionSay you have an array for which the ith element is the price of a given stock on day i.Design an algorithm to find the maximum profit. You may complete at most two transactions.Note: You...原创 2019-01-22 00:21:56 · 168 阅读 · 1 评论 -
面试题 03.03. 堆盘子
堆盘子。设想有一堆盘子,堆太高可能会倒下来。因此,在现实生活中,盘子堆到一定高度时,我们就会另外堆一堆盘子。请实现数据结构SetOfStacks,模拟这种行为。SetOfStacks应该由多个栈组成,并且在前一个栈填满时新建一个栈。此外,SetOfStacks.push()和SetOfStacks.pop()应该与普通栈的操作方法相同(也就是说,pop()返回的值,应该跟只有一个栈时的情况一样)。进阶:实现一个popAt(int index)方法,根据指定的子栈,执行pop操作。原创 2024-05-12 19:41:54 · 445 阅读 · 0 评论 -
面试题 03.01. 三合一
三合一。描述如何只用一个数组来实现三个栈。你应该实现push(stackNum, value)、pop(stackNum)、isEmpty(stackNum)、peek(stackNum)方法。stackNum表示栈下标,value表示压入的值。构造函数会传入一个stackSize参数,代表每个栈的大小。原创 2024-05-12 18:41:39 · 304 阅读 · 0 评论 -
[leetcode] 142. Linked List Cycle II
DescriptionGiven a linked list, return the node where the cycle begins. If there is no cycle, return null.To represent a cycle in the given linked list, we use an integer pos which represents the po...原创 2019-02-21 14:08:46 · 143 阅读 · 1 评论 -
[leetcode] 234. Palindrome Linked List
DescriptionGiven a singly linked list, determine if it is a palindrome.Example 1:Input:1->2Output: falseExample 2:Input:1->2->2->1Output:trueFollow up:Could you do it in O...原创 2019-05-12 17:07:41 · 118 阅读 · 1 评论 -
面试题 02.02. 返回倒数第 k 个节点
实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。注意:本题相对原题稍作改动说明:给定的 k 保证是有效的。原创 2024-05-12 17:29:39 · 146 阅读 · 1 评论 -
面试题 02.01. 移除重复节点
编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。提示:1.链表长度在[0, 20000]范围内。2.链表元素在[0, 20000]范围内。进阶:如果不得使用临时缓冲区,该怎么解决?原创 2024-05-12 17:20:54 · 302 阅读 · 1 评论 -
面试题 01.06. 字符串压缩
字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。提示:1.字符串长度在[0, 50000]范围内。原创 2024-05-11 20:07:33 · 231 阅读 · 0 评论 -
面试题 01.05. 一次编辑
字符串有三种编辑操作:插入一个英文字符、删除一个英文字符或者替换一个英文字符。给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。原创 2024-05-11 20:01:15 · 326 阅读 · 0 评论 -
[leetcode] 162. Find Peak Element
DescriptionA peak element is an element that is greater than its neighbors.Given an input array nums, where nums[i] ≠ nums[i+1], find a peak element and return its index.The array may contain multi...原创 2019-02-12 20:27:21 · 369 阅读 · 1 评论 -
[leetcode] 125. Valid Palindrome
DescriptionGiven a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.Note: For the purpose of this problem, we define empty string as valid palindr...原创 2019-07-29 08:28:36 · 163 阅读 · 1 评论 -
[leetcode] 134. Gas Station
DescriptionThere are N gas stations along a circular route, where the amount of gas at station i is gas[i].You have a car with an unlimited gas tank and it costs cost[i] of gas to travel from statio...原创 2019-02-12 23:35:53 · 144 阅读 · 1 评论 -
[leetcode] 45. Jump Game II
DescriptionGiven an array of non-negative integers, you are initially positioned at the first index of the array.Each element in the array represents your maximum jump length at that position.Your ...原创 2019-02-20 21:48:22 · 182 阅读 · 1 评论 -
[leetcode] 97. Interleaving String
DescriptionGiven s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2.Example 1:Input: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac"Output: trueExample 2:Input: s1 = "aabcc", ...原创 2019-02-17 22:09:39 · 123 阅读 · 1 评论 -
[leetcode] 256 Paint House
DescriptionThere are a row of n houses, each house can be painted with one of the three colors: red, blue or green. The cost of painting each house with a certain color is different. You have to pain...原创 2019-05-12 17:02:50 · 615 阅读 · 1 评论 -
[leetcode] 93. Restore IP Addresses
DescriptionGiven a string containing only digits, restore it by returning all possible valid IP address combinations.Example:Input:"25525511135"Output:["255.255.11.135", "255.255.111.35"]分析题...原创 2019-07-02 13:25:21 · 137 阅读 · 1 评论 -
[leetcode] 852. 山脉数组的峰顶索引
符合下列属性的数组 arr 称为 山脉数组 :存在 i(0 < i < arr.length - 1)使得:给你由整数组成的山脉数组 arr ,返回满足 arr[0] < arr[1] < … arr[i - 1] < arr[i] > arr[i + 1] > … > arr[arr.length - 1] 的下标 i。你必须设计并实现时间复杂度为 O(log(n)) 的解决方案。原创 2024-04-27 18:05:34 · 180 阅读 · 3 评论 -
[leetcode] 703. 数据流中的第 K 大元素
设计一个找到数据流中第 k 大元素的类(class)。注意是排序后的第 k 大元素,不是第 k 个不同的元素。原创 2024-04-27 17:41:56 · 305 阅读 · 0 评论 -
[leetcode] 285. 二叉搜索树中的中序后继
给定一棵二叉搜索树和其中的一个节点 p ,找到该节点在树中的中序后继。如果节点没有中序后继,请返回 null。节点 p 的后继是值比 p.val 大的节点中键值最小的节点,即按中序遍历的顺序节点 p 的下一个节点。原创 2024-04-27 15:51:11 · 295 阅读 · 0 评论 -
[leetcode] 437. Path Sum III
DescriptionYou are given a binary tree in which each node contains an integer value.Find the number of paths that sum to a given value.The path does not need to start or end at the root or a leaf, ...原创 2019-05-15 12:01:52 · 125 阅读 · 1 评论 -
[leetcode] 67. Add Binary
DescriptionGiven two binary strings, return their sum (also a binary string).The input strings are both non-empty and contains only characters 1 or 0.Example 1:Input: a = "11", b = "1"Output: "10...原创 2019-01-19 21:31:43 · 129 阅读 · 1 评论 -
[leetcode] K 和数对的最大数目
给你一个整数数组 nums 和一个整数 k。每一步操作中,你需要从数组中选出和为 k 的两个整数,并将它们移出数组。返回你可以对数组执行的最大操作数。原创 2024-04-23 08:58:46 · 405 阅读 · 0 评论 -
[leetcode] 1071. 字符串的最大公因子
对于字符串 s 和 t,只有在 s = t + t + t + … + t + t(t 自身连接 1 次或多次)时,我们才认定 “t 能除尽 s”。给定两个字符串 str1 和 str2。返回 最长字符串 x,要求满足 x 能除尽 str1 且 x 能除尽 str2。原创 2024-04-22 22:36:12 · 216 阅读 · 0 评论 -
[leetcode] 1768. 交替合并字符串
给你两个字符串 word1 和 word2。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。返回 合并后的字符串。原创 2024-04-22 22:26:57 · 146 阅读 · 0 评论 -
[leetcode] 2 的幂
给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true;否则,返回 false。如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。进阶:你能够不使用循环/递归解决此问题吗?原创 2024-04-21 18:39:17 · 229 阅读 · 3 评论 -
[leetcode] 264. 丑数 II
给你一个整数 n ,请你找出并返回第 n 个 丑数。丑数 就是质因子只包含 2、3 和 5 的正整数。原创 2024-04-21 17:50:08 · 178 阅读 · 2 评论 -
[leetcode] 235. 二叉搜索树的最近公共祖先
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]原创 2024-04-21 16:12:11 · 230 阅读 · 0 评论 -
[leetcode] 946. 验证栈序列
给定 pushed 和 popped 两个序列,每个序列中的 值都不重复,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true;否则,返回 false。原创 2024-04-21 11:17:09 · 240 阅读 · 0 评论 -
[leetcode] 796. 旋转字符串
给定两个字符串, s 和 goal。如果在若干次旋转操作之后,s 能变成 goal ,那么返回 true。s 的 旋转操作 就是将 s 最左边的字符移动到最右边。原创 2024-04-21 11:07:10 · 325 阅读 · 1 评论 -
[leetcode] 232. 用栈实现队列
请你仅使用两个栈实现先入先出队列。原创 2024-04-21 09:52:21 · 326 阅读 · 0 评论 -
[leetcode] 433. 最小基因变化
基因序列可以表示为一条由 8 个字符组成的字符串,其中每个字符都是 ‘A’、‘C’、‘G’ 和 ‘T’ 之一。假设我们需要调查从基因序列 start 变为 end 所发生的基因变化。一次基因变化就意味着这个基因序列中的一个字符发生了变化。另有一个基因库 bank 记录了所有有效的基因变化,只有基因库中的基因才是有效的基因序列。(变化后的基因必须位于基因库 bank 中)原创 2024-04-14 15:11:38 · 339 阅读 · 0 评论 -
[leetcode] 427. 建立四叉树
给你一个 n * n 矩阵 grid ,矩阵由若干 0 和 1 组成。请你用四叉树表示该矩阵 grid。你需要返回能表示矩阵 grid 的 四叉树 的根结点。四叉树数据结构中,每个内部节点只有四个子节点。此外,每个节点都有两个属性:val:储存叶子结点所代表的区域的值。1 对应 True,0 对应 False。注意,当 isLeaf 为 False 时,你可以把 True 或者 False 赋值给节点,两种值都会被判题机制 接受。原创 2024-04-13 17:19:44 · 452 阅读 · 0 评论 -
[leetcode] 164. 最大间距
给定一个无序的数组 nums,返回 数组在排序之后,相邻元素之间最大的差值。如果数组元素个数小于 2,则返回 0。您必须编写一个在「线性时间」内运行并使用「线性额外空间」的算法。原创 2024-04-10 09:04:49 · 234 阅读 · 0 评论 -
[leetcode] 110. 平衡二叉树
给定一个二叉树,判断它是否是平衡二叉树。原创 2024-04-08 23:56:29 · 229 阅读 · 1 评论 -
[leetcode] 89. Gray Code
DescriptionThe gray code is a binary numeral system where two successive values differ in only one bit.Given a non-negative integer n representing the total number of bits in the code, print the seq...原创 2019-02-12 23:58:18 · 123 阅读 · 1 评论 -
[leetcode] 25. K 个一组翻转链表
给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。示例 1进阶:你可以设计一个只用 O(1) 额外内存空间的算法解决此问题吗?原创 2024-04-06 16:42:13 · 633 阅读 · 0 评论 -
[leetcode] 191. 位1的个数
编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中设置位的个数(也被称为汉明重量)。原创 2024-04-05 16:11:54 · 274 阅读 · 0 评论