自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录算法训练营|第五章栈与队列02|力扣150逆波兰表达式 力扣239滑动窗口最大值

数组:适用于固定大小的数据存储和频繁的索引访问。集合:适用于需要唯一性和快速存在性检查的场景。映射:适用于需要关联存储和快速键值对查找的场景。统计好频率后,只需在优先级队列中维护k个频率最高的元素。而大顶堆会弹出最大的元素,不利于维护k个频率最高的元素。所以用小顶堆,当堆的大小超过 K 时,弹出堆顶元素,这样堆中始终保存的是频率最高的 K 个元素。

2024-07-23 23:57:10 613

原创 代码随想录算法训练营| 第五章 栈与队列part01

对栈的简单介绍:在C++中,stack是标准模板库(STL)中提供的一种数据结构,表示栈(stack),它通常用于后进先出(LIFO)的数据管理。: 这个操作用于将元素压入栈顶(即入栈操作)。例如,如果你有一个,你可以通过将整数5压入栈st的顶部。: 这个操作用于从栈顶移除元素(即出栈操作)。例如,如果你有一个非空的栈st,通过st.pop();将移除栈顶的元素。: 这个操作返回栈顶元素的引用,但不会移除它。这可以让你访问栈顶的元素而不改变栈的内容。例如,如果你有一个栈st,你可以通过st.top();

2024-07-05 16:25:33 832

原创 代码随想录训练营|第四章 字符串part02

思路:这道题可以分为几个小步骤解决,首先删掉额外的空格,可以依次删除开头的空格,中间多余的空格,结尾的空格。这里有一个小问题,通常在for循环处理数组时,i < s.size()即可,但是这里判断最后一个单词时,因为反转的end值是i-1,所以需要i的值取到s.size(),这里就要加一个等号。这意味着起始迭代器指向我们想要包含的第一个元素,而结束迭代器指向我们想要包含的最后一个元素之后的位置。函数反转[first, last)范围内的元素,其中 last 是要反转的最后一个元素之后的位置。

2024-07-04 22:47:50 264

原创 代码随想录第七天|第四章 字符串part01

思路:用双指针法前后交换达到反转字符串的目的。力扣541 反转字符串Ⅱ思路:将看似复杂的条件转换成简单的逻辑,每次循环i+2k,反转前k个字符串,不足k个字符串时反转剩余字符串。

2024-06-20 04:51:55 182

原创 代码随想录训练营第六天|第三章 哈希表part02

思路:将前两个数组中的元素两两相加,作为key值,同时统计key值重复出现的次数作为value,存入map数据类型中。然后将后两个数组两两相加,在umap中查找符合条件的key值,如果找到,将value值累加。最后返回count。是 C++ 标准模板库(STL)中的一种关联容器,用于存储键值对,其底层实现是哈希表。这使得可以提供非常快速的查找、插入和删除操作,通常为 O(1) 时间复杂度。以下是一些关于。

2024-06-13 18:14:38 434

原创 代码随想录训练营第五天|第三章 哈希表part01

有效的字母异位词。思路:定义哈希数组记录字符串中每个字母的出现次数,每出现一次对映射的下标的值加一。然后再将另一个数组循环遍历,字母每出现一次对哈希数组中映射的下标的值减一。然后整体看数组中的所有值是否清零。

2024-06-12 21:45:58 211

原创 代码随想录训练营第四天| 24. 两两交换链表中的节点

思路:使用一个虚拟头节点来简化链表头部的节点交换,同时用一个指针遍历链表,每次检查是否有两个相邻节点可以交换,并调整它们的指针指向顺序,最后返回虚拟头节点的。

2024-06-09 19:39:40 240

原创 代码随想录训练营第三天| 203.移除链表元素 707.设计链表 206.反转链表

思路:分两种情况处理:头结点和非头结点。对于删除头结点可以将下一个结点设为头结点或者设置一个虚拟头结点。删除非头结点则将前一个结点指向下一个结点的指针指向下下个结点。

2024-06-08 18:40:20 435

原创 代码随想录训练营第二天|977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

二分法需要注意区间问题,左闭右闭或者左闭右开前后需要保持一致。

2024-06-06 19:35:53 553 1

原创 代码随想录训练营第一天|704. 二分查找,27. 移除元素

注意临界值,对于左闭右闭区间,while循环中对right和left取等,取等合法。缩小范围时,right=midle-1,left=middle+1,符合左闭右闭。缩小范围时,right = middle,left = middle + 1,符合左闭右开。第一眼思路:依次比较数组中元素与val值,如果有相等,则将该元素后面的元素向前移一位,k值加1,再继续比较并重复前面的操作,直到结束。学习后思路:找中间值与目标值比较,不断缩小查找范围,最后得出结果。这里犯了一个错误,在移动元素的时候,一开始写了。

2024-06-05 21:08:49 317 1

原创 CPU调度(类与对象)

目录题目描述代码在Windows运行中,会对各个程序分配CPU,使得程序能够执行。运行的程序称为进程(Process),属性包括:名称(name)、等待时间(time_wait)、运行时间(time_run)、优先级(level)。进程的操作有:初始化(构造函数), 显示状态(display)、获取优先级(getLevel),操作说明如下:1. 初始化操作,根据外来输入的数值,设置名称、等待时间、运行时间的属性值,并计算优先级,优先级的计算公式:优先级=等待时间 / 运行时间,计算结果做取整处理。2.显示

2022-06-24 16:28:50 307

原创 字符串比较(指针参数)

目录题目描述代码 写一个函数比较两个字符串,参数是两个字符指针(要求显式定义,例如char *S, char *T),比较字符串S和T的大小。如果S大于T,则返回1,如果S小于T则返回-1,如果S与T相等则返回0。比较规则:1.把两个字符串的相同位置上的字符进行比较,字符的大小比较以ASCII值为准2.在比较中,如果字符串S的字符大于字符串T的字符的数量超过小于的数量,则认为S大于T,如果等于则S等于T,如果小于则S小于T例如S为aaccdd,T为eebbbb,每个位置比较得到S前两个字母都小于T,但后4个

2022-06-18 15:52:51 110

原创 数字判断(指针为函数参数)

题目描述输入一个字符串,判断这个字符串是否一个完全整数值的字符串,例如输入"1234",那么表示整数1234,输入"12a3"就表示只是一个字符串,不是一个整数要求编写函数isNumber,参数是一个字符指针,返回值是整数类型如果字符串表示一个整数,则计算出这个整数并且返回如果字符串不是表示一个整数,则返回-1主函数必须调用isNumber来判断字符串,不能使用任何C++自带或第三方的类似函数输入输入t表示有t个测试实例每行输入一个字符串依次输入t行输出每行输出判断结果代码 笔记 这道题目本身没有难度

2022-06-15 01:55:09 245

原创 三串合一(指针与字符数组)

题目描述输入三个字符串,通过指针读取各个字符串的子串(子串是指字符串中连续的一小部分),把它们合并成一个新字符串要求:1. 三个字符串的创建和输入可以使用数组,也可以不用2. 输入后,根据三个字符串的子串的长度,计算出新字符串的长度3. 使用动态数组的方法创建新的字符串,并且使用指针读取三个字符串的不同部分,并且复制到新字符串中,要求整个过程都不能使用数组下标4. 使用指针输出新的字符串输入第一行输入t表示有t个测试实例连续三行输入三个字符串,每个字符串都包含10个字

2022-06-15 00:23:39 323

原创 三数论大小(指针)

题目描述输入三个整数,然后按照从大到小的顺序输出数值。要求:用三个指针分别指向这三个整数,排序过程必须通过这三个指针来操作,不能直接访问这三个整数输出时,必须使用这三个指针,不能使用存储三个整数的变量输入第一行输入t表示有t个测试实例第二行起,每行输入三个整数输入t行32 4 688 99 77111 333 222输出每行按照从大到小的顺序输出每个实例在每行中,每个数据输出后都带有一个空格,即使该行最后一个数据输出后也要再输出一个空格.

2022-05-24 17:27:29 291

空空如也

空空如也

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

TA关注的人

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