- 博客(22)
- 收藏
- 关注
原创 【LeetCode刷题】回文子串!!!常用方法小结:双指针||DP
【LeetCode相关题目】5. 最长回文子串647. 回文子串问题需求:找到字符串s中所有的回文子串有两种常用解法:一、中心拓展法中心拓展法即为双指针法:枚举每个可能的拓展中心,左右指针所指元素相同则拓展(左--,右++),否则停止,需要处理奇偶拓展中心的问题,用i遍历0到2n-2即可,li=i/2,ri=li+i%2。在i为偶数的情况下,回文串长度为奇数,li==ri,否则ri=li+1。拓展条件:li>=0&&ri<=n-1&&s
2021-02-04 14:16:57
351
原创 leetcode1717. 删除子字符串的最大得分
题目描述给你一个字符串s和两个整数x 和y。你可以执行下面两种操作任意次。删除子字符串"ab"并得到x分。比方说,从"cabxbae"删除 ab,得到"cxbae"。删除子字符串"ba"并得到y分。比方说,从"cabxbae"删除 ba,得到"cabxe"。请返回对 s字符串执行上面操作若干次能得到的最大得分。示例 1:输入:s = "cdbcbbaaabab", x = 4, y = 5输出:19解释:- 删除 "cdbcbba...
2021-01-17 17:40:26
437
原创 Leetcode714. 买卖股票的最佳时机含手续费
题目描述:给定一个整数数组prices,其中第i个元素代表了第i天的股票价格 ;非负整数fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。注意:这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。示例 1:输入: prices = [1, 3, 2, 8, 4, 9], fee = 2输出: 8解释: 能够达到的最大利...
2020-12-17 20:27:55
195
原创 LeetCode122. 买卖股票的最佳时机 II
题目描述:给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 随后,在第 4 天(股票价格 = 3)的时候买入...
2020-12-17 19:21:29
108
原创 LeetCode121.买卖股票的最佳时机
题目描述:给定一个数组,它的第i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出...
2020-12-17 19:16:57
146
原创 背包入门——LeetCode416. 分割等和子集
题目描述:给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100数组的大小不会超过 200示例 1:输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [11].示例2:输入: [1, 2, 3, 5]输出: false解释: 数组不能分割成两个元素和相等的子集.思路:动态规划的基本流程是定义状态并找到状态转移方程,再根据题目要求..
2020-12-16 21:45:17
544
原创 LeetCode290单词规律
题目:给定一种规律pattern和一个字符串str,判断str是否遵循相同的规律。这里的遵循指完全匹配,例如,pattern里的每个字母和字符串str中的每个非空单词之间存在着双向连接的对应规律。示例1:输入: pattern = "abba", str = "dog cat cat dog"输出: true示例2:输入:pattern = "abba", str = "dog cat cat fish"输出: false示例...
2020-12-16 15:00:12
162
原创 MacBook Pro Java环境配置超详细!新手友好向!
简要配置过程:在官网下载最新JDK并打开电脑终端,赋权路径文件,并添加环境变量。一、官网下载网址:https://www.oracle.com/java/technologies/javase-jdk14-downloads.html双击下载好的dmg文件正常安装即可。二、终端操作打开终端:前往->实用工具->终端输入java -version检查下载的版本号如果有路径文件则直接配置环境变量,没有就先创建一个创建文件:touch .bash_profile
2020-07-26 14:00:00
1744
原创 通俗易懂!PAT乙级1052 卖个萌(C++)
1052 卖个萌 (20 分)萌萌哒表情符号通常由“手”、“眼”、“口”三个主要部分组成。简单起见,我们假设一个表情符号是按下列格式输出的:[左手]([左眼][口][右眼])[右手]现给出可选用的符号集合,请你按用户的要求输出表情。输入格式:输入首先在前三行顺序对应给出手、眼、口的可选符号集。每个符号括在一对方括号 []内。题目保证每个集合都至少有一个符号,并不超过 10 ...
2019-02-17 17:34:37
289
原创 第二个测试点没过?此题有坑!PAT乙级1020(C++)
1020 月饼 (25 分)月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有 3 种月饼,其库存量分别为 18、15、10 万吨,总售价分别为 75、72、45 亿元。如果市场的最大需求量只有 20 万吨,那么...
2019-02-12 11:24:32
796
原创 PAT乙级1018 重要的是细心(C++)
1018 锤子剪刀布 (20 分)大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。输入格式:输入第 1 行给出正整数 N(≤105),即双方交锋的次数。随后 N 行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C 代表“锤子”、J 代表“剪刀”、B 代...
2019-02-10 15:42:29
429
原创 各种标志控制输出!PAT 乙级1012(C++)
1012 数字分类 (20 分)给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A1 = 能被 5 整除的数字中所有偶数的和; A2 = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1−n2+n3−n4⋯; A3 = 被 5 除后余 2 的数字的个数; A4 = 被 5 除后余 3 的数字的平均数,精...
2019-02-07 22:21:15
214
原创 回车结束输入!格式控制!PAT乙级1010(C++)
1010 一元多项式求导 (25 分)设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn−1。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表...
2019-02-07 21:50:24
309
原创 字符转数字!提取每位数字!STL栈!PAT乙级1002写出这个数(C++)
只有代码的题解都是耍流氓!思路和解题要点才是题解的重点!1002 写出这个数 (20 分)读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10100。输出格式:在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格...
2019-02-05 20:13:54
258
原创 你必学的素数筛选法!PAT 乙级 1007(C++)
1007 素数对猜想 (20 分)让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(<105),请计算不超过N的满足猜想的素数对的个数。输入格式:输入在一行给出正整数N。输出格式:在一行中...
2019-02-04 18:08:21
356
1
原创 极简:打表段错误详解!PAT 乙级1005(C++)
此题有坑!段错误我有发言权!1005 继续(3n+1)猜想 (25 分)卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真...
2019-02-03 18:31:17
840
原创 详解代码:PAT 乙级 1003 我要通过!(C++)
1003 我要通过! (20 分)“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符; 任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或...
2019-02-03 16:23:31
761
1
原创 PAT 乙级 1084 外观数列(C++)
1084 外观数列 (20 分)外观数列是指具有以下特点的整数序列:d, d1, d111, d113, d11231, d112213111, ...它从不等于 1 的数字 d 开始,序列的第 n+1 项是对第 n 项的描述。比如第 2 项表示第 1 项有 1 个 d,所以就是 d1;第 2 项是 1 个 d(对应 d1)和 1 个 1(对应 11),所以第 3 项就是 d111...
2019-01-30 18:39:03
251
原创 HDU2843 概率论水题
啦啦啦啦啦 我是传送门,快点我看题目I Will WinTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 398 Accepted Submission(s): 246
2017-02-04 15:47:09
420
原创 蓝桥杯入门训练小结
终于开始了蓝桥杯的准备!入门的几道题做下来我的感悟是:会考一些我们之前不是很重视但是很重要的小细节。第一题:A+B问题这题就是最基础大家都做了无数遍的A+B题目连源码都给了我也没什么可说的了第二题:序列求和从第二题起就开始挖坑啦!乍一看很简单有木有?来,让我们一起愉快的跳坑,序列求和是不是,来来来,先来个大循环,什么1,000,000,000是不是?给你个i
2017-01-22 20:56:05
815
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人