自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 问答 (1)
  • 收藏
  • 关注

原创 Day11|栈与队列

给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。在完成所有重复项删除操作后返回最终的字符串。有效的算符为 ‘+’、‘-’、‘*’ 和 ‘/’。返回一个表示表达式值的整数。输入是一个根据逆波兰表示法表示的算术表达式。每个右括号都有一个对应的相同类型的左括号。左括号必须以正确的顺序闭合。

2023-02-26 13:48:09 84

原创 Day10|栈与队列

通过两个指针在一个for循环下完成两个for循环的工作。

2023-02-26 11:59:41 84

原创 Day9|KMF算法

从该介绍中得出自己的体会如下:上述介绍了KMF中前缀数组的求法,KMF算法其实是为了在匹配字符串时,遇到失败的情况时尽最大可能的利用失败信息,以防从头开始匹配。构造next数组的时候也是采用KMF的方式,一旦当前匹配失败,查找上一个匹配成功应该回退的位置。

2023-02-24 16:21:10 269

原创 Day8|字符串

思路为,先将字符串中的多余空格删除,再将字符串翻转,再将其中的单词翻转,就能形成正确的答案。此时完成函数的主体部分,使用递归的方式来计算反转字符串,先判断字符串长度,大于2k则先将前k进行翻转,k-2k保持原状,2k后面的再调用该函数。但是要做到极致就尽量少使用额外的空间,可以使用双指针法,第一个指针指向重新定向长度的数组,第二个指针指向原指针的末尾,从后往前进行执行。给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。

2023-02-22 16:11:44 75

原创 Day7|哈希法

k ,同时还满足 nums[i] + nums[j] + nums[k] == 0。接下来如何移动left 和right呢, 如果nums[i] + nums[left] + nums[right] > 0 就说明 此时三数之和大了,因为数组是排序后了,所以right下标就应该向左移动,这样才能让三数之和小一些。如果 nums[i] + nums[left] + nums[right] < 0 说明 此时 三数之和小了,left 就向右移动,才能让三数之和大一些,直到left与right相遇为止。

2023-02-21 20:10:14 37

原创 Day5|哈希表

在遇到需要快速判断一个元素是否出现在集合中的时候,此时应当考虑哈希法。哈希函数将待存储的元素映射为哈希表上的索引,然后通过索引快速知道元素是否在哈希表中。为了保证映射出来的索引都落在哈希表上,需要对哈希表的size取模。但是也有可能两个元素经过哈希函数映射到哈希表上后,索引位置一致。这种情形叫做哈希碰撞,有两种解决办法,拉链法和线性探测法。拉链法发生冲突的元素存储在当前索引下的链表中线性探测法使用线性探测法时,需要先保证哈希表的size大于数据量的size,保证数据有空位可以插入。

2023-02-21 15:36:25 49

原创 Day4|链表

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null。给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。注意,函数返回结果后,链表必须 保持其原始结构。题目数据 保证 整个链式结构中不存在环。该题两思路分别为迭代和递归。还可以用递归回退法来完成。使用计算节点法进行计算。时间复杂为O(n+m)

2023-02-19 02:03:48 32

原创 Day3|链表

由上图可知当头节点为需要删除的元素时,先处理成头节点不是待删除元素的情形。使用while循环进行处理。首先直接考虑的是不使用虚拟节点,直接使用单链表进行处理。接下来考虑使用虚拟头节点。

2023-02-18 01:34:09 26

原创 Day2|977,209,59

螺旋矩阵主要是要控制好边界条件,比如说控制左闭右开,上闭右开,每次边界发生变动时,需要重新判断是否还符合要求。思路:为了计算能达到和大于target的最短子数组,考虑到滑动窗口法,只有一头一尾在移动。思路:原数组为非递减顺序的,那么为了让平方后的结果也是非递减顺序,处理难题为。其时间复杂度为O(nlog+n)=O(nlogn)时间复杂度为O(n)

2023-02-16 22:51:16 94

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

该题第一反应就是直接暴力法移除,通过两层循环,第一层循环数组,第二层循环将数据提前一位,注意,随着数据的删除,数组的size会缩减,并且由于数据向前移动,那么第一层的循环要回退一步。内容包含了数组的一些基本概念,其中表明数组只能覆盖,不能删除元素,而C++中Vector和数组不是一样的,vector只是一个容器,Java中没有指针的概念,数组的内存位置不连续。通过元素的有序性以及程序中寻找一个目标值的概念,考虑使用二分法进行查找,而二分法在此处可以有两种写法,左闭右开和左闭右闭的方式。

2023-02-16 00:07:44 288

转载 2021-09-01

gstreamer创建管道如何使得输出分辨率自适应显示器分辨率?操作1:从驱动读取屏幕大小#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <linux/fb.h>#include <sys/mman.h>#include <math.h>#include <sys/ioctl

2021-09-01 19:54:44 220

空空如也

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

TA关注的人

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