自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第二章:算法基础

递归出口(小规模问题) 递归表达式 分治。//注意:确保一定可以达到出口 考虑边界条件 剪支。

2024-03-04 23:08:33 228 1

原创 第十一天:单调栈

对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是 [1, 30000]。每个气温的值的均为华氏度,都是在 [30, 100] 范围内的整数。单调栈递增:求比他大的元素 单调栈递减:求比他小的元素。单调栈:让栈保持单调递增或者单调递减的规则。直接在单调栈中存放下标。

2024-02-23 22:23:12 220 1

原创 第一章:语言基础

一般不混用cpp的输入输出和c的输入输出 防止有问题。

2024-02-20 17:48:32 156

原创 第十天:动态规划

数组的每个下标作为一个阶梯,第 i 个阶梯对应着一个非负数的体力花费值 cost[i](下标从 0 开始)。每当你爬上一个阶梯你都要花费对应的体力值,一旦支付了相应的体力值,你就可以选择向上爬一个阶梯或者爬两个阶梯。一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人试图达到网格的右下角(在下图中标记为“Finish”)。一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。3)dp数组的含义(定义以及下标的含义)

2024-02-12 13:01:38 455 1

原创 第九天:贪心法

给定一个非负整数数组,你最初位于数组的第一个位置,数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。给定一个非负整数数组,你最初位于数组的第一个位置 数组中的每个元素代表你在该位置可以跳跃的最大长度 判断你是否能够到达最后一个位置。给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。假设你是一位很棒的家长,想要给你的孩子们一些小饼干。给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。

2024-02-10 02:18:41 351 1

原创 第八天 回溯搜索法

5)回溯法模版 viod返回值 函数名backtracking 参数比较多可以边写边加 收集结果(放入结果集里面) 单层搜索(for循环 参数用来处理)处理节点 递归函数 回溯操作。变为树形结构 抽象成一个n叉树 (树的宽度就是集合的大小 树的深度就是递归的深度)3)解决问题 :组合问题 切割问题 子集问题 排列问题 棋盘问题(n皇后 解数独)1)只要有递归就一定有回溯 回溯在递归函数的下面。4)如何理解回溯法 :抽象成一个图形结构。2)回溯法是纯暴力的搜索 并不高效。

2024-02-05 18:40:37 125 1

原创 蓝桥杯模拟

1)模拟一般考察细腻程度 不会卡时间复杂度。

2024-02-05 18:18:43 95 1

原创 第七天:二叉树

1)二叉树的分类:满二叉树(每一个节点都有左右孩子),完全二叉树(只有地节点没有满,底节点必须是连续的),二叉搜索树(对节点没有要求,中大于左,右大于中),平衡二叉搜索树(满足二叉搜索树)map set mutimap mutiset 实现的复杂度是o(logn)i)深度优先遍历(前序遍历,中序遍历,后序遍历)(哪个先就是中)递归遍历的 前序 中序 后序 代码只需要更改顺序就可以改。ii)广度优先遍历(递归法,迭代法)3).二叉树的遍历方式。2)二叉树的存储方式。2.二叉树的递归遍历。

2024-01-21 19:06:31 1452 1

原创 第六天:栈与队列

给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。只需要我们pop.back就不需要最后返回字符串的reverse()了 更加简单一些。此题目重点在于要牢记用栈实现队列要有两个栈 一个是输出栈一个是输入栈。push(x) -- 将一个元素放入队列的尾部。用队列实现栈更加简单一些 只需要用一个队列即可。peek() -- 返回队列首部的元素。empty() -- 返回队列是否为空。pop() -- 从队列首部移除元素。使用栈进行匹配就OK了 比较简单。

2024-01-19 17:53:08 314 1

原创 kmp 算法

1)kmp算法的作用: 用于匹配字符串与模式串(暴力做法就是将模式串一次一次匹配与文本串比较)时间复杂度o(m*n)3)什么是前缀后缀:前缀是不包含末尾字母的字串,后同理。5)next prefix数组放的都是前缀表。kmp算法可以实现时间复杂度降低为o(m*n)2)前缀表:用于跳过最长相等前后缀。4)最长相等前后缀的长度生成前缀表。太难了 日后再补补这个内容吧。1)构建next数组。

2024-01-18 23:30:59 360 1

原创 第五天 字符串

1. 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。

2024-01-17 23:36:51 465

原创 第四天:哈希表

这道题我们需要了解使用map作为哈希表来实现 注意unorded_set 是无序的也是效率最高的 当我们需要时一般都要用这个 k-v值只有key是可以供来查找的所以应该把需要查找的数值放在key上, 我们这道题就应该把数值放在key上然后把下表放在value上。否则返回 false。5.给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。使用数组作为哈希表 先存储数组a的每一个字母出现的个数 再用b数组去剪掉每一个数组的相应位置。

2024-01-15 19:41:28 353

原创 第二/三天:链表

1)分类:单链表,双链表(方便回去),循环链表(方便转圈圈)饿了吃饭饭去了 待会再写。

2024-01-11 11:35:50 411

原创 第一天:数组

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。4.给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续 子数组,并返回其长度。给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。5.给定一个正整数 n,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。你不需要考虑数组中超出新长度后面的元素。

2024-01-10 23:09:07 375 1

空空如也

空空如也

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

TA关注的人

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