Leetcode刷题记录
苹果实验室内各个同学初入leecode的刷题记录
创建者:
19届 李朝
中南大学苹果实验室
中南大学苹果实验室在2014年由时任张校长主持,苹果公司和中南大学共同出资建立的第一个本科生实验室。指导老师为可亲可敬的鲁鸣鸣老师。苹果实验室本着小而精而又开放的理念,每年面向全计算机院招收6-8名主动性强、动手能力高、热爱计算机专业而又负责任的大二学生。实验室在计算机范畴内不硬性规定研究方向,鼓励成员在学长经验的加持下自由探索自己的兴趣爱好与方向,这也造就了届届相似而不同+多点开花的现状。我们营造着良好的实验室学习与生活的氛围,崇尚劳逸结合,坚持在保证专业素质过硬的同时不忘体验生活的乐趣。欢迎各位加入苹果实验室的大家庭。
展开
-
重复元素的Top.K排序推演(朴素快排+BFPTR+三向切分最优熵)
日期:2020.11.10作者:YJF问题描述:由快速排序引发的一系列问题:Top.K问题(朴素快排+BFPTR+三向切分最优熵)朴素快排快速排序是一种分治的算法,从思想上来说,它将一个数据切分成两部分,然后将两部分独立排序,这种方式正好与归并排序正好互补。快排与归并的区别简单来说,归并是将数组分成两个子数组,把子数组排好序后再归并为有序数组;快排是在将数组分为两个子数组的过程中就把子数组的顺序排好,达到数组有序的目的。(该动图来自于菜鸟教程的快速排序)### 伪码快速排序的切分//原创 2020-11-10 12:54:45 · 318 阅读 · 0 评论 -
Hedetniemi’s Algorithm实现
日期:2020-10-25作者:19届 LZ标签:JAVA 离散数学实现较简单,具体过程就不阐述了,哈哈import java.util.*;public class Pathprogram { int vertices;//结点数 int path[][][];//路径 int t; int [][] getpath(){//返回路径 return path[t]; } Pathprogram(int vertices){//原创 2020-11-28 10:43:48 · 148 阅读 · 0 评论 -
P1223 排队接水 C++
日期:2021-04-24作者:19届WY标签:忽略累加的小错误题目描述解题:①用另一个数组存一下位置,sort之后位置变了②忘记考虑每个人的等待时间是需要加上前面的,是每个人的等待时间都需要把前面累加,不是总等待时间直接累加前面的③学到了memcpy(copyarr, pastearr, sizeof(pastearr)),复制数组,头文件是cstring④ iomanip是I/O流控制头文件,就像C里面的格式化输出一样,cout<<setiosflags(ios::fixe原创 2021-04-24 01:02:13 · 803 阅读 · 0 评论 -
P1115 最大子段和 C++
日期:2021-04-24作者:19届WY标签:数组开小了……题目描述解题:考虑:到第i个整数时,前面的子段和第i个整数的关系如果前面的子段和加上第i个数比i小,那说明第i个整数可以替换前面的子段,那第i个数将成为新的子段的开始如果前面的子段和加上第i个数比i大,那就把第i个数加上作为新的子段也就是ans[i] = max(ans[i-1] + arr[i], arr[i])但是不能直接取最后一次计算出的子段和,每一次计算出的子段和都需要进行比较,选出最大值作为结果小错误:一开始没看原创 2021-04-24 02:06:45 · 295 阅读 · 0 评论 -
从C到C++的刷算法的记录
日期:2021-04-29作者:19届WY标签:C++,STL,vector,set,mapC++STL之动态数组vector(矢量的使用)可以在www.cplusplus.com官方网站中直接查询官方文档,上面有方法的讲解和代码示例,(mac选手下载Dash,在里面下载C++,平时查文档会很方便),Windows下有离线文档浏览器Zeal,和Dash功能一样。下面是vector常用得一些方法:#include <iostream>#include <vector>原创 2021-04-29 21:28:38 · 116 阅读 · 0 评论 -
P1226 【模板】快速幂||取余运算 C++
日期:2021-04-24作者:19届WY标签:快速幂,同余运算题目描述同余运算的主要性质解题:利用同余运算的性质,可以每次将p进行二分取余,若p为偶数,则xp=(x2)p/2,若p为奇数,则xp=x*(x2)p/2。(考虑p>0的情况)每次将p/2,若p为奇数,则xp=x*(x2)p/2,中前面那个单独的x也要取余之后再放进s中,若p为偶数则直接计算x2再取余,这里不用再与s进行计算,因为最后一步总会得到p=1,结果都会进入s中(考虑p=0的情况)最后输出的时候要再取一次余,原创 2021-04-24 13:14:42 · 362 阅读 · 0 评论 -
P2415 集合求和 C++
日期:2021-04-24作者:19届WY标签:数学问题,控制输入结束题目描述解题:以第n个元素an为例,当子集只有一个元素时,选中an,剩余n-1个元素不选,an出现**C0n-1**次当子集有两个元素时,先选中an,再从剩下的n-1个元素中选一个,是C1n-1种选法,所以an出现C1n-1次当子集中有三个元素时,先选中an,再从剩下的n-1个元素中选两个,C2n-1种选法,所以an出现C2n-1次依此类推, 当子集有n-1个元素时,先选中an,再从剩下的n-1个元素中选n-2个,是原创 2021-04-24 01:32:31 · 740 阅读 · 0 评论 -
最长递增子序列 Python
日期:2021-3-4作者:19届 LZ标签:python 二分查找题目描述子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。示例:示例 1:输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。示例 2:输入:nums = [0,1,0,3,2,3]输出:4示例 3:输入:nums =原创 2021-03-04 10:42:15 · 502 阅读 · 3 评论 -
盛最多水的容器 JAVA
日期:2020-10-25作者:19届 LZ标签:JAVA 双指针题目描述给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。示例:示例:输入:[1,8,6,2,5,4,8,3,7]输出:49解题思路:双指针max=Math.max((Math.原创 2020-10-25 18:21:47 · 101 阅读 · 0 评论 -
数组中的最长山脉 JAVA
日期:2020-10-25作者:19届 LZ标签:JAVA 动态规划题目描述我们把数组 A 中符合下列属性的任意连续子数组 B 称为 “山脉”:B.length >= 3存在 0 < i < B.length - 1 使得 B[0] < B[1] < … B[i-1] < B[i] > B[i+1] > … > B[B.length - 1](注意:B 可以是 A 的任意子数组,包括整个数组 A。)给出一个整数数组 A,返回最长 “山脉”原创 2020-10-25 16:50:32 · 135 阅读 · 0 评论 -
所有蚂蚁掉下来前的最后一刻 JAVA
日期:2020-10-24作者:19届 LZ标签:JAVA 啊这题目描述有一块木板,长度为 n 个 单位 。一些蚂蚁在木板上移动,每只蚂蚁都以 每秒一个单位 的速度移动。其中,一部分蚂蚁向 左 移动,其他蚂蚁向 右 移动。当两只向 不同 方向移动的蚂蚁在某个点相遇时,它们会同时改变移动方向并继续移动。假设更改方向不会花费任何额外时间。而当蚂蚁在某一时刻 t 到达木板的一端时,它立即从木板上掉下来。给你一个整数 n 和两个整数数组 left 以及 right 。两个数组分别标识向左或者向右移动的原创 2020-10-24 19:05:29 · 76 阅读 · 0 评论 -
视频拼接 JAVA
日期:2020-10-24作者:19届 LZ标签:JAVA 动态规划题目描述你将会获得一系列视频片段,这些片段来自于一项持续时长为 T 秒的体育赛事。这些片段可能有所重叠,也可能长度不一。视频片段 clips[i] 都用区间进行表示:开始于 clips[i][0] 并于 clips[i][1] 结束。我们甚至可以对这些片段自由地再剪辑,例如片段 [0, 7] 可以剪切成 [0, 1] + [1, 3] + [3, 7] 三部分。我们需要将这些片段进行再剪辑,并将剪辑后的内容拼接成覆盖整个运动过程原创 2020-10-24 18:51:10 · 516 阅读 · 0 评论 -
一和零 JAVA
日期:2020-10-15作者:19届 LZ标签:JAVA 动态规划题目描述在计算机界中,我们总是追求用有限的资源获取最大的收益。现在,假设你分别支配着 m 个 0 和 n 个 1。另外,还有一个仅包含 0 和 1 字符串的数组。你的任务是使用给定的 m 个 0 和 n 个 1 ,找到能拼出存在于数组中的字符串的最大数量。每个 0 和 1 至多被使用一次。示例:示例 1:输入: strs = ["10", "0001", "111001", "1", "0"], m = 5, n = 3原创 2020-10-15 10:59:28 · 126 阅读 · 0 评论 -
分割等和子集 python
作者:崔云龙日期:2020-10-13题目描述:给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100数组的大小不会超过 200示例:示例 1:输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [11].示例 2:输入: [1, 2, 3, 5]输出: false解释: 数组不能分割成两个元素和相等的子集.解题思路x[ i ][ j ] = 1当且仅原创 2020-10-13 21:26:57 · 465 阅读 · 0 评论 -
滑动窗口最大值 JAVA
日期:2020-10-13作者:19届 LZ标签:JAVA题目描述给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。进阶:你能在线性时间复杂度内解决此题吗?示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值--------原创 2020-10-13 21:01:09 · 128 阅读 · 0 评论 -
两两交换链表中的节点 python
作者:18届CYL日期:2020-10-13标签: 链表 指针题目描述:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:示例 1:输入:head = [1,2,3,4]输出:[2,1,4,3]示例 2:输入:head = []输出:[]示例 3:输入:head = [1]输出:[1]解题思路:1、分别使用两个指针p,q 记录当前节点和当前节点的下一节点。2、再使用一个x 存储下一节点3、值得注原创 2020-10-13 20:35:57 · 258 阅读 · 0 评论 -
实现strStr() python
作者:CYL日期:2020-10-13给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “aaaaa”, needle = “bba”输出: -1说明:当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中原创 2020-10-13 20:07:23 · 145 阅读 · 0 评论 -
移除元素 python
作者:CYL日期:2020-10-13问题描述给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。示例 2原创 2020-10-13 13:05:17 · 203 阅读 · 0 评论 -
删除排序数组中的重复项 python
作者:cyl日期:2020-10-12标签:查重 遍历问题描述:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,0,1,1,1原创 2020-10-12 23:25:55 · 305 阅读 · 3 评论 -
合并两个有序链表 python
作者:CYL日期:2020-10-11标签:有序链表问题描述:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解题思路:思路一、最傻逼的方法是遍历一遍然后把值存在列表里面 然后 对列表排序 再构建新的有序链表 如果给定两个无序链表 那这种方法是切实有效的 但是当给定两个有序链表显然不太合适思路二、两个原创 2020-10-12 00:13:52 · 822 阅读 · 1 评论 -
分割等和子集 JAVA
日期:2020-10-11作者:19届 LZ标签:JAVA NP完问题题目描述给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100数组的大小不会超过 200示例:示例 1:输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [11].示例 2:输入: [1, 2, 3, 5]输出: false解释: 数组不能分割成两个元素和相等的子集.原创 2020-10-11 16:46:03 · 223 阅读 · 0 评论 -
有效的括号 python
作者:CYL日期:2020-10-10标签:括号匹配 栈 python题目描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输入: “([)]”输出: fal原创 2020-10-10 23:29:42 · 97 阅读 · 1 评论 -
环形链表 II JAVA
日期:2020-10-10作者:19届 LZ标签:JAVA 快慢指针题目描述给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。进阶:你能用 O(1)(即,常量)内存解决此问题吗?示例:输入:head = [3,2,0,-4],原创 2020-10-10 20:54:51 · 133 阅读 · 1 评论 -
Z 字形变换 JAVA
日期:2020-10-9作者:19届 LZ标签:JAVA题目描述将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实现这个将字符串进行指定行数变换的函数:string convert(string原创 2020-10-09 20:38:17 · 78 阅读 · 0 评论 -
环形链表 JAVA
日期:2020-10-9作者:19届 LZ标签:JAVA 快慢指针题目描述给定一个链表,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回 true 。 否则,返回 false 。进阶:你能用 O(1)(即,常量原创 2020-10-09 19:44:13 · 207 阅读 · 0 评论 -
跳跃游戏 II JAVA
日期:2020-10-4作者:19届 LZ标签:题目描述给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。*说明:假设你总是可以到达数组的最后一个位置。*解题思路:方法1,反向查找,但是每次原创 2020-10-04 22:28:03 · 197 阅读 · 0 评论 -
括号生成 JAVA
日期:2020-10-3作者:19届LZ标签:两数之和题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:输入:n = 3输出:[ "((()))", "(()())", "(())()", "()(())", "()()()" ]解题思路:递归代码原创 2020-10-04 21:16:16 · 161 阅读 · 1 评论 -
Medium表现良好的最长时间段 python
作者:19届 张辰琦时间:2020-10-1标签:动态规划题目描述:给你一份工作时间表 hours,上面记录着某一位员工每天的工作小时数。我们认为当员工一天中的工作小时数大于 8 小时的时候,那么这一天就是「劳累的一天」。所谓「表现良好的时间段」,意味在这段时间内,「劳累的天数」是严格 大于「不劳累的天数」。请你返回「表现良好时间段」的最大长度。示例 1:输入:hours = [9,9,6,0,6,6,9]输出:3解释:最长的表现良好时间段是 [9,9,6]。提示:1 <=原创 2020-10-04 08:30:49 · 286 阅读 · 2 评论 -
接雨水 JAVA
日期:2020-10-3作者:19届 LZ标签:动态编程题目描述给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例:输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 6解题思路:每个位置可以容纳的雨水容量是该位置左右两边最大高度的最小值(需保证两边最大高度大于该位置高度),通常情原创 2020-10-04 21:16:44 · 172 阅读 · 1 评论 -
两数之和 JAVA
日期:2020-10-3作者:19届LZ标签:简单递归 括号生成题目描述数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例:输入:n = 3输出:[ "((()))", "(()())", "(())()", "()(())", "()()()" ]解题思路:递归代码void generate(int n,int left,int right,char *s原创 2020-10-03 18:41:09 · 94 阅读 · 2 评论 -
两数之和 python
作者: 18届崔云龙日期:2020-10-3标签: 简单 遍历题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解题思路:遍历一遍代码class Solution(ob原创 2020-10-03 10:18:15 · 111 阅读 · 0 评论 -
宝石与石头 python
作者: 18届 CYL日期: 2020-10-2标签:匹配 计数 leetcode 暴力求解题目描述:给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例:示例 1:输入: J = “aA”, S = “aAAbbbb”输出: 3示例 2:输入: J = “z”, S = “ZZ”输原创 2020-10-03 00:09:08 · 291 阅读 · 0 评论 -
最长公共前缀 python
作者:18届 CYL日期: 2020-10-2标签: 字符串题目描述编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z解题思路1、如果字符数组为空返回“”2、取第一个串为模板 一个字符一个字符判断代码cl原创 2020-10-03 00:09:35 · 91 阅读 · 0 评论 -
买卖股票的最佳时Ⅱ python
作者:张辰琦时间:2020-10-1标签:动态规划题目描述:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。随后,在第原创 2020-10-01 13:36:28 · 103 阅读 · 0 评论 -
买卖股票的最佳时机Ⅰpython
作者:张辰琦作者:张辰琦时间2020-10-1标签:动态规划题目描述:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖原创 2020-10-01 13:27:03 · 102 阅读 · 0 评论 -
罗马数字转整数 python
作者:18届 CYL时间: 2020-10-1标签:字典题目描述罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。原创 2020-10-01 12:50:02 · 762 阅读 · 1 评论 -
二叉搜索树中的插入操作 python
作者: 18届cyl时间:2020-10-1标签:二叉搜索树 中等 leetcode题目描述给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据保证,新值和原始二叉搜索树中的任意节点值都不同。注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果。示例例如,给定二叉搜索树: 4 / \ 2 7 / \1 3和 插入的值: 5你可以返回这个二叉搜索树:原创 2020-10-01 10:55:22 · 116 阅读 · 0 评论 -
回文数 python
作者:CYL日期:2020-9-29标签:数字 字符串 简单题目描述判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。解题思路利用字符串倒序 比较倒序后的与倒序前原创 2020-09-29 19:56:30 · 282 阅读 · 0 评论 -
整数反转 python
作者 : 18届 CYL日期 : 2020-9-29题目描述:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。解题思路:将int型数字转换成 String 然后利用 字符串反转后再转原创 2020-09-29 15:30:22 · 234 阅读 · 0 评论 -
按摩师 python
作者 18届 CYL日期 2020-9-29标签: 动态规划 Leecode题目简介一个有名的按摩师会收到源源不断的预约请求,每个预约都可以选择接或不接。在每次预约服务之间要有休息时间,因此她不能接受相邻的预约。给定一个预约请求序列,替按摩师找到最优的预约集合(总预约时间最长),返回总的分钟数。注意:本题相对原题稍作改动示例示例 1:输入: [1,2,3,1]输出: 4解释: 选择 1 号预约和 3 号预约,总时长 = 1 + 3 = 4。示例 2:输入: [2,7,9,3,1]输原创 2020-09-29 15:08:59 · 240 阅读 · 0 评论