自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 DP模型数字三角形之摘花生

题目描述:Hello Kitty想摘点花生送给她喜欢的米老鼠。她来到一片有网格状道路的矩形花生地从西北角进去,东南角出来。地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生。Hello Kitty只能向东或向南走,不能向西或向北走。问Hello Kitty最多能够摘到多少颗花生。输入格式第一行是一个整数T,代表一共有多少组数据。接下来是T组数据。每组数据的第一行是两个整数,分别代表花生苗的行数R和列数 C。每组数据的接下来R行数据,从北向南依

2020-08-31 22:42:34 141

原创 DP模型数字三角形之数字三角形

题目描述给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。 7 3 8 8 1 0 2 7 4 44 5 2 6 5输入格式第一行包含整数n,表示数字三角形的层数。接下来n行,每行包含若干整数,其中第 i 行表示数字三角形第 i 层包含的整数。输出格式输出一个整数,表示最大的路径数字和。数据范围1≤n

2020-08-31 22:30:27 200

原创 蓝桥杯 外卖店的优先级 Java 易懂版 (80%得分考试混分版)

题目描述“饱了么”外卖系统中维护着 N 家外卖店,编号 1∼N。每家外卖店都有一个优先级,初始时 (0时刻) 优先级都为 0。每经过 1个时间单位,如果外卖店没有订单,则优先级会减少 1,最低减到 0;而如果外卖店有订单,则优先级不减反加,每有一单优先级加 2。如果某家外卖店某时刻优先级大于 5,则会被系统加入优先缓存中;如果优先级小于等于 3,则会被清除出优先缓存。给定 T时刻以内的 M 条订单信息,请你计算 T时刻时有多少外卖店在优先缓存中。输入格式第一行包含 3个整数 N,M,T。以下

2020-08-25 22:48:00 1105

原创 蓝桥杯 方格取数 Java 闫氏DP分析法和一般方法

题目描述:设有 N×N 的方格图,我们在其中的某些方格中填入正整数,而其它的方格中则放入数字0。如下图所示:某人从图中的左上角 A 出发,可以向下行走,也可以向右行走,直到到达右下角的 B 点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。此人从 A 点到 B 点共走了两次,试找出两条这样的路径,使得取得的数字和为最大。输入格式第一行为一个整数N,表示 N×N 的方格图。接下来的每行有三个整数,第一个为行号数,第二个为列号数,第三个为在该行、该列上所放的数。行和列编号从

2020-08-25 14:39:17 240

原创 蓝桥杯 日志统计 Java 双指针 滑动窗口

题目描述小明维护着一个程序员论坛。现在他收集了一份”点赞”日志,日志共有 N行。其中每一行的格式是:ts id表示在 ts时刻编号 id的帖子收到一个”赞”。现在小明想统计有哪些帖子曾经是”热帖”。如果一个帖子曾在任意一个长度为 D的时间段内收到不少于 K个赞,小明就认为这个帖子曾是”热帖”。具体来说,如果存在某个时刻 T满足该帖在 [T,T+D) 这段时间内(注意是左闭右开区间)收到不少于 K个赞,该帖就曾是”热帖”。给定日志,请你帮助小明统计出所有曾是”热帖”的帖子编号。输入格式第一

2020-08-22 11:14:06 276

原创 LeetCode 字符串的排列 Java 滑动窗口 双指针

题目描述给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。示例1:输入: s1 = "ab" s2 = "eidbaooo"输出: True解释: s2 包含 s1 的排列之一 ("ba").示例2:输入: s1= "ab" s2 = "eidboaoo"输出: False相似题目无重复最长子串找到字符串中所有字母异位词最小覆盖子串思路这题我觉得就是 “ 找到字符串中所有字母异位词”和“无

2020-08-22 10:27:25 218

原创 LeetCode 无重复最长子串 Java 双指针

题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,

2020-08-21 20:47:08 251 2

原创 LeetCode 找到字符串中所有字母异位词 Java 双指针 滑动窗口

给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引。字符串只包含小写英文字母,并且字符串 s 和 p 的长度都不超过 20100。说明:字母异位词指字母相同,但排列不同的字符串。不考虑答案输出的顺序。示例 1:输入:s: "cbaebabacd" p: "abc"输出:[0, 6]解释:起始索引等于 0 的子串是 "cba", 它是 "abc" 的字母异位词。起始索引等于 6 的子串是 "bac", 它是 "abc" 的

2020-08-21 20:31:19 194

原创 LeetCode 最小覆盖子串 Java 双指针 滑动窗口

题目描述:给你一个字符串 S、一个字符串 T 。请你设计一种算法,可以在 O(n) 的时间复杂度内,从字符串 S 里面找出:包含 T 所有字符的最小子串。示例:输入:S = "ADOBECODEBANC", T = "ABC"输出:"BANC"提示:如果 S 中不存这样的子串,则返回空字符串 ""。如果 S 中存在这样的子串,我们保证它是唯一的答案。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/minimum-window-sub

2020-08-21 19:57:51 187 2

原创 LeetCode 四数之和 Java 双指针

给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/4sum相似题目三数之和最接近的三数之和思路这题只是三数之和稍加改一下三数之和是由i的位置来确定a,然后left从i+1开始来确定b

2020-08-21 16:19:43 181

原创 LeetCode 最接近的三数之和 Java 双指针

题目描述:给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。示例:输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。提示:3 <= nums.length <= 10^3-10^3 <= nums[i] <= 10^3-10^4

2020-08-21 15:28:22 166

原创 LeetCode 三数之和 Java 双指针

题目描述:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/3sum思路:

2020-08-21 14:35:44 168

原创 LeetCode 移动零 双指针 Java

思路:这题跟移除简单元素那题差不多,只不过要把前面移除掉的零,放到最后面class Solution { public void moveZeroes(int[] nums) { int length=nums.length; int l=0; int r=0; int count=0; //统计零的个数 while(r<length){ if(nums[r]=.

2020-08-21 09:02:03 144

原创 LeetCode 移除简单元素 Java双指针

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。思路双指针,不让开辟新的空间只能在原数组上修改,1.按照双指针的套路定义left和right,两个指针同时走遇到目标值,此时left停下,right++,直nums[right]!=target;2.此时nums[rigth]!=targe

2020-08-21 08:56:03 121

原创 leetcode 划分字母区间 Java 双指针 贪心

输入:S = "ababcbacadefegdehijhklij"输出:[9,7,8]解释:划分结果为 "ababcbaca", "defegde", "hijhklij"。每个字母最多出现在一个片段中。像 "ababcbacadefegde", "hijhklij" 的划分是错误的,因为划分的片段数较少。

2020-08-21 07:49:35 131

原创 字符串转换整数 (atoi) JAVA

请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。该字符串在有效的整数部分之后也可能会存在多余的字符,那么这些字符可以被忽略,它们对函数不应该造成影响。注意:假如该字符串中的第一个非空格字符不是一个有效整数字

2020-08-21 07:09:21 927

原创 八皇后——N皇后问题——图解 Java

思路:八皇后这么经典的问题相信大家都已经知道题目的意思了,那要怎么做呢?看个例子:绿色这个点能存在的前提是,它的左下方的那条斜线上、右上方那条斜线上以及他所在的这一列和这一行上,都没有其他“皇后”,这样我们四个条件就出来了。根据题目的意思我们最后要输出一个数组,拿题目所给的那个例子2,4,6,1,3,5意思是第一行的“皇后”应该放在第2列上,第二行的皇后放在第4列上,以此类推,因此我们就可以用一维数组来表示所有的状态即arr[i]=j 第i行的皇后应该放在第j列,用这种方式表示我们就可以不用判断同一行上

2020-08-11 19:56:27 1458 3

省赛真题与部分案例.zip

给有需要的人,题目绝对准确,我也是从别人那转过来的,祝大家考出理想成绩! 这个描述最少五十个字,那我就向大家推荐一波Acwing吧,里面有蓝桥杯的辅导课,算法基础,算法提高,算法进阶都有,讲得真心不错,y总牛批。

2020-09-29

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

TA关注的人

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