算法
程序员-King.
一起走进代码世界!
一起成长!越努力,越幸运!VX:P13F5911
展开
-
day27-完全平方数(背包问题)
给你一个整数n,返回 和为n的完全平方数的最少数量。是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,149和16都是完全平方数,而3和11不是。原创 2024-05-30 23:16:53 · 313 阅读 · 0 评论 -
day26-最大正方形面积
在一个由'0'和'1'组成的二维矩阵内,找到只包含'1'的最大正方形,并返回其面积。原创 2024-05-16 23:49:27 · 214 阅读 · 0 评论 -
day25-0 1矩阵
给定一个由0和1组成的矩阵mat,请输出一个大小相同的矩阵,其中每一个格子是mat中对应位置元素到最近的0的距离,两个相邻元素间的距离为1。原创 2024-05-14 23:53:26 · 402 阅读 · 0 评论 -
day24-最小路径和
1、创建新一个记录路径值的二维vector:记录走任意方向一步时所得的值。由此可以得出到达任意位置时的路径值。2、在1、中,当每次记录路径值时,加上判定条件即可选出最大或最小(依题目而定)。输入:grid = [[1,3,1],[1,5,1],[4,2,1]],请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。输出:7 解释:因为路径 1→3→1→1→1 的总和最小。输入:grid = [[1,2,3],[4,5,6]]说明:每次只能向下或者向右移动一步。给定一个包含非负整数的 网格。原创 2024-05-09 23:05:01 · 146 阅读 · 0 评论 -
day23-等差数列划分
如果一个数列 至少有三个元素 ,并且任意两个相邻元素之差相同,则称该数列为等差数列。例如,[7,7,7,7]和都是等差数列。给你一个整数数组nums,返回数组nums中所有为等差数组的 子数组 个数。子数组 是数组中的一个连续序列。3nums 中有三个子等差数组:[1, 2, 3]、[2, 3, 4] 和 [1,2,3,4] 自身。原创 2024-05-07 23:16:52 · 202 阅读 · 0 评论 -
day22-荷兰国旗问题
给定一个包含红色、白色和蓝色、共n个元素的数组nums对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数01和2分别表示红色、白色和蓝色。必须在不使用库内置的 sort 函数的情况下解决这个问题。[0,1,2]原创 2024-04-16 23:50:14 · 162 阅读 · 0 评论 -
day21-查找区间(二分法)
给定一个按照非递减顺序排列的整数数组nums,和一个目标值target。请找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1, -1]。原创 2024-04-08 22:42:06 · 257 阅读 · 0 评论 -
day20-二分法计算 X 的算术平方根
给你一个非负整数x,计算并返回x的 算术平方根。由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去。x = 42x = 828 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。原创 2024-04-06 23:33:54 · 282 阅读 · 0 评论 -
day19-归并两个有序数组
给你两个按 非递减顺序 排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你 合并nums2到nums1中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1的初始长度为m + n,其中前m个元素表示应合并的元素,后n个元素为0,应忽略。nums2的长度为n。需要合并 [1,2,3] 和 [2,5,6]。合并结果是 [,2,原创 2024-04-05 16:17:01 · 574 阅读 · 0 评论 -
day18-分发糖果
n个孩子站成一排。给你一个整数数组ratings表示每个孩子的评分。1请你给每个孩子分发糖果,计算并返回需要准备的。5你可以分别给第一个、第二个、第三个孩子分发 2、1、2 颗糖果。4你可以分别给第一个、第二个、第三个孩子分发 1、2、1 颗糖果。第三个孩子只得到 1 颗糖果,这满足题面中的两个条件。原创 2024-04-04 09:24:51 · 285 阅读 · 0 评论 -
day17-分配问题
每个孩子最多只能给一块饼干。对每个孩子i,都有一个胃口值 children[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸 cookies[j]。如果 cookies[j] >=children[i],我们可以将这个饼干j分配给孩子i,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。1三个孩子和两块小饼干,3个孩子的胃口值分别是:1,2,3。虽然有两块小饼干,由于他们的尺寸都是1,只能让胃口值是1的孩子满足。所以应该输出1。2。原创 2024-04-03 11:36:29 · 318 阅读 · 0 评论 -
day16-环形链表
指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。不作为参数进行传递,仅仅是为了标识链表的实际情况。来表示链表尾连接到链表中的位置(索引从 0 开始)。如果链表中有某个节点,可以通过连续跟踪。链表中有一个环,其尾部连接到第二个节点。链表中有一个环,其尾部连接到第一个节点。,返回链表开始入环的第一个节点。,则在该链表中没有环。返回索引为 1 的链表节点。返回索引为 0 的链表节点。给定一个链表的头节点。如果链表无环,则返回。原创 2024-03-23 17:12:39 · 374 阅读 · 0 评论 -
day15:无重叠区间
给定一个区间的集合intervals,其中。返回需要移除区间的最小数量,使剩余区间互不重叠。1移除 [1,3] 后,剩下的区间没有重叠。2你需要移除两个 [1,2] 来使剩下的区间没有重叠。0你不需要移除任何区间,因为它们已经是无重叠的了。原创 2024-03-13 23:51:51 · 376 阅读 · 0 评论 -
day14:栈排序
栈排序。编写程序,对栈进行排序使最小元素位于栈顶。最多只能使用一个其他的临时栈存放数据,但不得将元素复制到别的数据结构(如数组)中。pushpoppeek和isEmpty。当栈为空时,peek返回 -1。原创 2024-03-03 19:00:00 · 362 阅读 · 0 评论 -
day13:化栈为队
实现一个MyQueue类,该类用两个栈来实现一个队列。原创 2024-03-02 19:00:00 · 382 阅读 · 0 评论 -
day12:栈的最小值
请设计一个栈,除了常规栈支持的pop与push函数以外,还支持min函数,该函数返回栈元素中的最小值。执行push、pop和min操作的时间复杂度必须为O(1)。3、利用辅助栈实现:辅助栈中依次存储当前的最小值,使用getMin()函数取出。--> 返回 -3.minStack.getMin();--> 返回 -2.==> 问题转化:利用栈,求最小值,且不改变原来的栈。2、额外增加返回最小值 min()函数的功能。1、设计一个栈,即可套用栈的模板。原创 2024-03-01 19:00:00 · 347 阅读 · 0 评论 -
day11:回文链表
编写一个函数,检查输入的链表是否是回文的。原创 2024-02-20 19:45:00 · 357 阅读 · 0 评论 -
day10:分割链表
给你一个链表的头节点head和一个特定值x,请你对链表进行分隔,使得所有x的节点都出现在x的节点之前。你不需要每个分区中各节点的初始相对位置。原创 2024-02-19 21:33:27 · 348 阅读 · 0 评论 -
day09:返回倒数第 K 个节点
实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。1->2->3->4->5 和k= 24给定的k保证是有效的。原创 2024-02-18 19:30:00 · 359 阅读 · 0 评论 -
day08:移除重复点
编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。原创 2024-02-17 22:51:25 · 350 阅读 · 0 评论 -
day07:字符串轮转
字符串轮转。给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,是旋转后的字符串)。原创 2024-02-13 19:45:00 · 732 阅读 · 0 评论 -
day06:字符串压缩
字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。原创 2024-02-09 19:00:00 · 369 阅读 · 0 评论 -
day05:一次编辑
字符串有三种编辑操作:插入一个英文字符、删除一个英文字符或者替换一个英文字符。给定两个字符串,编写一个函数判定它们是否只需要一次(或者零次)编辑。原创 2024-02-08 23:13:26 · 341 阅读 · 0 评论 -
day04:回文串排列
给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一。回文串是指正反两个方向都一样的单词或短语。排列是指字母的重新排列。回文串不一定是字典当中的单词。tactcoa"true(排列有"tacocat"、"atcocta",等等)原创 2024-02-07 19:00:00 · 369 阅读 · 0 评论 -
day03:URL化
空格替换,编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。原创 2024-02-06 19:00:00 · 369 阅读 · 1 评论 -
day02:判定是否互为字符重排
给定两个由小写字母组成的字符串s1和s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。原创 2024-02-05 19:00:00 · 670 阅读 · 1 评论 -
day01:判定字符是否唯一
实现一个算法,确定一个字符串s的所有字符是否全都不同。原创 2024-02-04 19:00:00 · 344 阅读 · 1 评论 -
求取两个数的最大公约数【C语言】
ps:个人经验,心得理解分享! (仅供参考)原创 2023-04-06 09:30:00 · 201 阅读 · 0 评论 -
蓝桥杯(2022):求和问题
给定 n 个整数 a1,a2,⋅⋅⋅,an ,求它们两两相乘再相加的和,即:S=a1⋅a2+a1⋅a3+⋯+a1⋅an+a2⋅a3+⋯+an−2⋅an−1+an−2⋅an+an−1⋅an输入的第一行包含一个整数 n。第二行包含 n 个整数 a1,a2,⋯,an。输出一个整数 S,表示所求的和。请使用合适的数据类型进行运算。原创 2023-04-05 11:31:50 · 336 阅读 · 0 评论