自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 排序算法之选择排序(第一天)

所谓选择排序就是每次循环找到最小的一个元素然后与需要更换的元素进行交换位置,算法没什么难的,难的是如何实现。第三次 : 3没有交换,因为此时3就是数组中最小的元素。以此类推不断的找到最小值的位置并交换以此来达到排序的目的。第一次 : 5与数组中最小的1交换了。第二次 : 4与数组中最小的2交换了。

2024-09-19 21:31:26 219

原创 java实现二叉树

从上面的图可以看出来树是这个整体,在没有添加任何节点的时候这个根节点就是这个树,遍历树只需要知道树的根节点就可以知道树的任何一个节点。//树的根节点public class TNode { //定义树的节点,节点中含有的数据public TNode(int data) { //创建节点的方法此时还需要对树的根节点进行初始化。

2024-09-19 16:35:54 923

原创 每日一题leetcode 爱生气的书店老板

有一个书店老板,他的书店开了n分钟。每分钟都有一些顾客进入这家商店。给定一个长度为n的整数数组customers,其中是在第i分钟开始时进入商店的顾客数量,所有这些顾客在第i分钟结束后离开。在某些分钟内,书店老板会生气。如果书店老板在第i分钟生气,那么,否则。当书店老板生气时,那一分钟的顾客就会不满意,若老板不生气则顾客是满意的。书店老板知道一个秘密技巧,能抑制自己的情绪,可以让自己连续minutes分钟不生气,但却只能使用一次。请你返回这一天营业下来,最多有多少客户能够感到满意。16。

2024-09-16 22:42:53 438 1

原创 每日一题 Leetcode半径为k的子数组平均值

给你一个下标从开始的数组nums,数组中有n个整数,另给你一个整数k。nums中一个以下标i为且为k的子数组中所有元素的平均值,即下标在i - k和i + k范围(i - k和i + k)内所有元素的平均值。如果在下标i前或后不足k个元素,那么是-1。构建并返回一个长度为n的数组avgs,其中avgs[i]是以下标i为中心的子数组的。x个元素的是x个元素相加之和除以x,此时使用截断式,即需要去掉结果的小数部分。23152。

2024-09-15 21:53:34 1106

原创 Java实现循环链表

此时看到 打印的结果与我们想到的不太一样,可以正常打印说明循环条件出错了此时这个链表每一个next都有指向确切的值。根据上次实现了单向链表,我们已经知道了链表的基本格式,就像线由点构成一样,链表由无数个节点构成。而这个循环链表的基本格式跟单向链表差不多,两者的差别就在于最后一个节点的next的指向。插入操作和删除操作其实都与单链表是差不多的这里就不说了,若是不熟悉的可以看我写的java实现单链表。该循环链表的创建与单链表的创建没有什么太大区别,最主要的区别就是链表的尾巴节点的next需要指向链表的头节点。

2024-09-11 18:47:34 327

原创 每日一题leetcode 无重复字符的最长子串

这个题目的第一个想法就是直接两个for循环遍历所有的子串找到最长的那个,那这个题目就变得毫无意义这个时候我想到了如何判断一个数的所有位数是否是唯一的数字,比如123456789这个数。可以使用长度为10的数组去记录每个数字出现的次数。可以定义一个长度为128的数组去记录字符出现的次数。此时再加上滑动窗口的方法遍历,每次窗口扩大一点都将新的元素与窗口内的元素进行比对,那这样又会回到双循环,这个时候我们定义的数组就起了作用。因为此时的子串是也是无重复的,将这个子串的长度与之前的长度进行比较取最大的长度。

2024-09-10 20:43:39 488 1

原创 C 语言实现栈的基本操作

typedef struct Stack{ //定义栈的结构//栈的最大规格int* data;//定义栈中存储数据的形式int top;//定义栈顶int lower;//定义栈底//判断栈是否为满了//判断栈是否为空//创建栈//将元素压入栈内//得到栈的最顶层元素。

2024-09-10 09:00:00 346

原创 每天一题 LeetCode 209 最小子数组

此时我们知道窗口中的元素和是大于等于7的但不知道是不是最短的, 所以此时缩小窗口的大小将第一个元素移除,因为我们已经将这个结果记录下来了所以可以移除,此时我们窗口元素和再次小于了7,继续循环上次的操作,直至窗口的右边界到达数组的右端。如图,我现在创建了一个窗口将2这个元素包含进去了,此时窗口中元素的值和为2 ,假设target这个目标值为7,此时窗口中的元素和是小于7的,那么我们需要不断的扩大窗口使窗口中的元素和是大于等于7的。如果不存在符合条件的子数组,返回。是该条件下的长度最小的子数组。

2024-09-09 16:49:09 384

原创 Java实现链表

之后就是插入和删除的操作,插入的操作我们已经了解了,删除只需要跳过我们需要删除的结点的地址值就行了也就是我们需要得到需要删除结点的前一个结点,将前一个结点的next指向需要删除的next这样就删除了指向我们需要删除的结点的地址值了。若是先将 head的next直接指向newNode那我们将无法找到1号结点的地址值了,因为你的第一步操作已经将含有1号结点的地址值的重新赋值了,了解了这个之后就方便了解链表的其他操作了。链表是一种很常见的数据结构,相比与顺序表它们两种结构都是存储数据的。

2024-09-08 23:27:05 719 2

空空如也

空空如也

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

TA关注的人

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