自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 代码随想录:图论_01基础

邻接矩阵是从节点的角度来表示图,有多少节点就申请多大的二维数组。给定一个有 n 个节点的有向无环图,节点编号从 1 到 n。请编写一个函数,找出并返回所有从节点 1 到节点 n 的路径。graph[i] 是一个从节点 i 可以访问的所有节点的列表(即从节点 i 到节点 graph[i][j]存在一条有向边)。给你一个有 n 个节点的 有向无环图(DAG),请你找出所有从节点 0 到节点 n-1 的路径并输出(不要求按特定顺序)邻接表是从边的数量来表示图,有多少边 才会申请对应大小的链表。

2024-07-13 23:39:28 187

原创 代码随想录:单调栈

对于每个 0 <= i < nums1.length ,找出满足 nums1[i] == nums2[j] 的下标 j ,并且在 nums2 确定 nums2[j] 的 下一个更大元素。给定一个循环数组 nums ( nums[nums.length - 1] 的下一个元素是 nums[0] ),返回 nums 中每个元素的 下一个更大元素。数字 x 的 下一个更大的元素 是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。每个柱子彼此相邻,且宽度为 1。

2024-07-12 00:55:25 281

原创 代码随想录:动态规划_05子序列问题

连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l

2024-07-07 13:00:12 903

原创 代码随想录:动态规划_04买卖股票的最佳时机

给你一个整数数组 prices 和一个整数 k ,其中 prices[i] 是某支给定的股票在第 i 天的价格。给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。

2024-07-05 00:05:27 367

原创 代码随想录:动态规划_03打家劫舍

同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。给定一个代表每个房屋存放金额的非负整数数组,计算你 在不触动警报装置的情况下 ,今晚能够偷窃到的最高金额。

2024-07-03 00:32:14 402

原创 代码随想录:动态规划_02背包问题

有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x

2024-07-01 23:50:19 571

原创 代码随想录:动态规划_01基础

给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k >= 2 ),并使这些整数的乘积最大化。一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。F(n) = F(n - 1) + F(n - 2),其中 n > 1。你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。

2024-06-29 00:07:38 300

原创 代码随想录:贪心_02

以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi]。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi]。当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。给定一个整数 n ,返回 小于或等于 n 的最大数字,且数字呈 单调递增。

2024-06-26 00:45:44 311

原创 代码随想录:贪心_01

直接在原有数组中调整。

2024-06-25 00:35:12 165 1

原创 代码随想录:回溯

排列问题:N个数按一定规则全排列,有几种排列方式。子集问题:一个N个数的集合里有多少符合条件的子集。组合问题:N个数里面按一定规则找出k个数的集合。切割问题:一个字符串按一定规则有几种切割方式。棋盘问题:N皇后,解数独等等。

2024-06-23 17:19:06 294

原创 代码随想录:二叉树_04搜索树

法二:定义一个pre指针指向前一个节点。法一:中序遍历,数组验证。法二:pre指针遍历。

2024-06-19 23:33:24 258

原创 代码随想录:二叉树_03构造

【代码】代码随想录:二叉树_03构造。

2024-06-18 00:00:34 200

原创 代码随想录:二叉树_02路径

法二:队列实现迭代法(也可以用栈实现,直接把queue换成stack即可)除了普通递归和层次遍历,这个是利用满二叉树的特性进行递归。法一:改257二叉树所有路径。法二:前序两次非递归。法一:自底向上的递归。法二:自顶向下的递归。

2024-06-16 23:36:10 288

原创 代码随想录:二叉树_01遍历

map、set、multimap、multiset容器底层实现都是平衡二叉搜索树。unordered_set、unordered_map是哈希表。法一:前序非递归法一左右顺序交换再逆转。法二:前序非递归法二左右顺序交换再逆转。法一:队列实现,两道题均可实现。法二:递归,只可实现116。

2024-06-09 13:54:40 156

原创 代码随想录:栈和队列

给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 ‘/’ 开头),请你将其转化为更加简洁的规范路径。请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。3、此外,路径仅包含从根目录到目标文件或目录的路径上的目录(即,不含 ‘.’ 或 ‘…1、有效的算符为 ‘+’、‘-’、‘*’ 和 ‘/’。

2024-06-08 20:18:41 795

原创 PAT-BASIC-1074 宇宙无敌加法器

因为最低位是 7 进制的,所以我们得到 1 和 1 个进位。第 2 位是:0 + 1 + 1(进位)= 2;因为此位是 2 进制的,所以我们得到 0 和 1 个进位。第 4 位是:6 + 1(进位)= 7;而在 PAT 星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为“PAT数”。0527”就表示最低位是 7 进制数、第 2 位是 2 进制数、第 3 位是 5 进制数、第 4 位是 10 进制数,等等。每一位的进制 d 或者是 0(表示十进制)、或者是 [2,9] 区间内的整数。

2024-05-20 10:31:57 288

原创 PAT-BASIC-1073 多选题常见计分法

随后 M 行,每行顺次给出一道题的满分值(不超过 5 的正整数)、选项个数(不少于 2 且不超过 5 的正整数)、正确选项个数(不超过选项个数的正整数)、所有正确选项。注意:题目保证学生的答题情况是合法的,即不存在选中的选项数超过实际选项数的情况。最后输出错得最多的题目选项的信息,格式为:错误次数 题目编号(题目按照输入的顺序从1开始编号)-选项号;如果有并列,则每行一个选项,按题目编号递增顺序输出。有一种最常见的计分方法是:如果考生选择了部分正确选项,并且没有选择任何错误选项,则得到50% 分数。

2024-05-19 18:31:58 321

原创 PAT-1068 万绿丛中一点红

在一行中按照 (x, y): color 的格式输出所求像素点的位置以及颜色值,其中位置 x 和 y分别是该像素在图像矩阵中的列、行编号(从 1 开始编号)。输入第一行给出三个正整数,分别是 M 和 N(≤ 1000),即图像的分辨率;TOL 的点才被考虑。随后 N 行,每行给出 M 个像素的颜色值,范围在 [0,2^24) 内。的画,要求你找出万绿丛中的一点红,即有独一无二颜色的那个像素点,并且该点的颜色与其周围 8 个相邻像素的颜色差充分大。对于计算机而言,颜色不过是像素点对应的一个 24 位的数值。

2024-05-19 00:48:18 112

原创 PAT-1060 爱丁顿数

英国天文学家爱丁顿很喜欢骑车。据说他为了炫耀自己的骑车功力,还定义了一个“爱丁顿数” E ,即满足有 E 天骑车超过 E 英里的最大整数 E。据说爱丁顿自己的 E 等于87。输入第一行给出一个正整数 N (≤10^5),即连续骑车的天数;第二行给出 N 个非负整数,代表每天的骑车距离。现给定某人 N 天的骑车距离,请你算出对应的爱丁顿数 E(≤N)。在一行中给出 N 天的爱丁顿数。

2024-05-17 15:24:09 118

原创 代码随想录8:28. 找出字符串中第一个匹配项的下标、459.重复的子字符串

版本二 暴力双循环(会超时)

2024-03-02 01:14:00 105 1

原创 代码随想录7:344. 反转字符串、541. 反转字符串 II、54. 替换数字

法二:reverse自己实现。法一 先整体反转再局部反转。

2024-02-23 12:00:02 205 1

原创 代码随想录6:454. 四数相加 II、383. 赎金信、第15题. 三数之和、18. 四数之和

【代码】代码随想录6:454. 四数相加 II、383. 赎金信、第15题. 三数之和、18. 四数之和。

2024-02-17 00:23:33 146 1

原创 代码随想录5: 242. 有效的字母异位词、349. 两个数组的交集、1. 两数之和

法二:哈希unordered_map。

2024-02-05 20:32:30 196 1

原创 代码随想录4: 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点 、面试题 02.07. 链表相交、142.环形链表II

法二:通过长度差同时移动双指针。

2024-02-03 15:10:00 173 1

原创 代码随想录3: 203.移除链表元素、707.设计链表、206.反转链表

头节点与非头节点分开处理。

2024-01-29 00:42:04 592

原创 代码随想录2: 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II

使用两个指针分别指向位置 000 和 n−1n-1n−1,每次比较两个指针对应的数,选择较大的那个逆序放入答案并移动指针。时间复杂度O(n^2) 会超时。法二:双指针(滑动窗口)

2024-01-27 20:53:58 627

原创 代码随想录1: 704. 二分查找、27. 移除元素

【代码】代码随想录1: 704. 二分查找、27. 移除元素。

2024-01-25 23:07:26 414 1

空空如也

空空如也

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

TA关注的人

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