自定义博客皮肤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)
  • 收藏
  • 关注

原创 数据库操作,表操作 (DDL语句)

创建数据库 create database[if not exists] 数据库名 [default charset 字符集] [collate 排序规则];修改字段名和字段类型 alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释] [约束];删除数据库 drop database [if exists] 数据库名;删除表 drop table [if exists] 表名;

2025-03-01 14:30:54 336

原创 两两交换链表中的元素

data为1的节点称为1节点,data为2的节点称为2节点。这两个节点想要交换,用R指针表示为 R->next,R->next->next。假如R指针指向的是1节点的位置,那么0节点的地址就丢失了,因为我们还需要将2节点的next连接到0节点上。当完成了两个节点的交换,那么R节点就需要向后遍历,这时候R的指针就要指向2节点的位置,因为这样才能操作3和4节点(当然图中没有这两个节点)。首先,vir为指向虚拟头结点的指针,也就是data为0的节点,这是不参与交换的节点。如果为偶数的情况,如下图所示。

2025-01-05 10:51:59 271206

原创 链表的翻转(单项链表无头节点)

因为左指针和右指针需要向后进行遍历,这时候右指针就会跑到临时指针此时所在的位置,而左指针就会跑到当前右指针所在的位置。临时指针是等于右指针的->next。用于帮助右指针找到下一个节点,因为左指针指向的地址需要赋值给右指针的next,这样右指针的下一个节点就会被覆盖进而找不到位置,因此需要临时指针记录。最后将左指针赋值给head指针,因为左指针指向了最后一个节点,这时候最后一个节点就是翻转之后的头节点。首先写递归结束的条件,右指针等于NULL的时候,就返回左指针,这时候的左指针指向的是最后一个节点。

2025-01-04 20:56:43 356

原创 单链表的相关操作(无头节点)

一开始head指针和current指针指向同一块位置,current指针开始向后遍历,然后将head指针指向的节点进行释放,然后将current指向的地址赋值给head指针,current接着向后遍历。不为空的情况下,需要将头指针的内容赋值给该节点的next指针,然后让将该节点的地址赋值给头指针。创建成功则将节点的数据进行赋值,将节点的指针赋值空NULL,并返回该节点的指针。(1)尾插法需要从头节点依次进行遍历,寻找节点的next是否为空,如果不为空则继续进行遍历,如果为空则在此节点的后面进行插入。

2025-01-04 14:55:47 562

原创 滑动窗口(长度最小的子数组)

while循环中,j-i+1 这是满足其和的值大于等于目标值的子数组大小。然后需要对i头指针进行加操作,查看减去头指针对象元素的值sum是否还符合大于等于目标值的要求。使用一层for循环进行遍历,这层for循环指的是尾指针,头指针需要自行定义。第一种是暴力方法,使用两层for循环,第一层for循环是开始的元素,第二层for循环是后面的元素。先让尾指针对数组进行遍历求和,只要所求的和大于等于目标值,就进行while循环。如果符合,就继续进行操作,如果不符合,尾指针就会进行向后遍历操作。

2025-01-03 16:31:03 179

原创 移除元素(删除元素)

如果找到了,if语句就不会执行,那么low指针就会指向这个需要删除的元素,而fast就会继续+1,从后面找寻数对low指针指向这个位置的数进行覆盖。使用双层for循环,外层的for循环主要作用就是寻找要删除的元素,里层的for循环是从要删除的元素后面进行一次覆盖。介绍两种方法:暴力方法(双层for循环) 和 双指针方法(一层for循环和两个指针)其中快指针和慢指针是这个算法的灵魂,快指针是遍历整个数组,找寻需要删除的数。移除元素意思就是,找到想要删除的元素,用后面元素依次覆盖当前的元素。

2024-12-30 20:57:48 289

原创 二分查找(二分法)

二分查找的需要设置三个指针,left,right,mid。其中left一开始指向第一个元素,同样right指向最后一个元素,而mid等于 (left+right)/ 2。相等时,表示它们指向同一个元素,这个元素可能是目标值,也可能是最后一个需要检查的元素。当left指针出现在right指针的右边则认为要查找的元素不存在,则退出循环。二分查找是常见的查找算法之一,想要进行二分查找的前提是元素之间有顺序的。如果数组中存在你想要查找的数,则返回下标,如果不存在则返回-1。

2024-12-30 20:12:32 210

原创 贪心算法(买卖股票)

设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须再购买前出售掉之前的股票)这道题的贪心思想在于如果今年买入明天卖出可以赚钱的话,那我们就买入。给定一个数组,它的第i个元素是一支给定股票第i天的价格。

2024-12-30 15:21:32 344

原创 贪心算法(区间不重复)

然后寻找不相交的区间,也就是前一个区间的最后一个元素需要小于等于后一个区间的第一个元素。例如【1,2】和【2,4】,2(前)小于等于2(后),所以这两个区间没有相交部分,这两个区间就会被保存下来。相反【1,2】和【1,3】,2(前)大于1(后),这两个区间就有相交部分,所以将【1,3】进行舍弃。在选择要保留的区间时,区间的结尾十分重要:选择的区间结尾越小,余留给其他的区间的空间就越大,就越能保留更多的空间。给定多个区间,计算让这些区间互相不重叠所需要移除区间的最少个数。

2024-12-30 14:43:59 234

原创 贪心算法(孩子吃饼干)

有一群孩子和一堆饼干,每个孩子有一个饥饿度,每个饼干都有一个大小。每个孩子只能吃最多一个饼干,且只有饼干的大小大于孩子的饥饿度时,这个孩子才能吃饱。求解最多有多少孩 子可以吃饱。让最小的饼干给饥饿度最小的孩子先吃。如果饼干的大小大于等于孩子的饥饿度,那么孩子和饼干的指针都向后移。如果饼干的大小小于孩子的饥饿度,那么饼干的指针向后移。定义两个指针指向两个数组的0下标位置。示例一:孩子吃饼干问题。这道题使用贪心算法。

2024-12-30 12:54:51 247

原创 冒泡排序算法

冒泡排序(大佬勿喷,自己学习记录用)

2024-12-29 20:16:43 241

空空如也

空空如也

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

TA关注的人

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