自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 无法吃午餐的学生数量 | leetcode算法学习

不使用队列。创建布尔数组以记录拿走午餐的人,定义两变量作为学生与三明治组的下标,如果有学生拿走三明治则三明治下标+1,但每次循环学生下标都要+1,因为如果拿走则轮到下一个学生,没有拿走则返回队尾重新开始排队学生也+1,注意循环到末尾时重新赋值为0以达到队列的效果,再定义一个变量为0,每次经过一个学生+1,每次有新的学生拿走三明治时赋值为0重新开始记录,如果完整循环一次却没有学生拿走三明治以中断记录说明当前的三明治是所有剩余学生都不需要的,找出此时布尔数组中false的个数即为剩余排队人数。

2022-10-19 22:58:30 290 1

原创 水果成篮 | leetcode算法学习

这道题其实不难理解,寻找最长的只含两个元素的连续子序列,我第一反应应该用一个数组记录长度,首先在遍历所给数组时找到第一个与上一个元素不同的元素,并将这两个元素存储起来再继续向后遍历时进行比较,如果有不同的说明已经到这两个元素组成连续子序列的最大长度,将长度存储,然后丢掉第一个元素继续向后遍历,直到结束,需要处理的地方在于边界处.提交成功之后查看题解,使用HashMap的滑动窗口,也不是很难理解,看过之后发现我的代码其实也是滑动窗口的一种形式,茅塞顿开.

2022-10-17 21:41:49 331

原创 用栈操作构建数组 | leetcode算法学习

这题medium,读懂题就很简单,从1到n依次读入只留下target中需要的数,秒了。

2022-10-15 14:24:09 221

原创 链表组件 | leetcode算法学习

题意很简单,找出head中拥有nums的最长子链表的组数,思路也很清晰,找出最长连续的值,如果有中断就代表下一个子链表的开始,不过每次都遍历数组是有点麻烦的,好在set中有`contains`方法,可以直接查找集合中是否存在某元素并返回布尔值,所以我们先把nums中的元素放进创建好的set中再进行操作就可以。

2022-10-12 13:38:34 266

原创 括号的分数 | leetcode算法学习

深度优先搜索,将字符串当作树状结构。

2022-10-11 16:13:55 106

原创 优势洗牌 | leetcode算法学习

非常典型的贪心,每次在A中寻找大于B[i]的最小值,若没有,则返回A中的最小值。如果A组最差的比不过A组最差的,就去消耗A组最强的来扩大优势。关键在于,如何快速在nums1中找到大于nums2[i]的最小值,可以使用二分法来查找。 所以在查找之前,要将nums1先从小到大排序。 还要注意的一点是每次找到了nums1中大于nums2[i]的最小值,都要在nums1中删除这个值,避免重复使用。这里使用了布尔数组来达到删除效果。步骤:- 将num1排序,- 从num2最大值开始比较,在nums1中二分查

2022-10-11 15:55:41 208

原创 盛最多水的容器 | leetcode算法学习

暴力解会超时,所以我们在遍历上想办法跳过无用的循环,如果直接能判断出当前数据一定比已经记录的最大值小就可以跳过这组数据。从两端开始向内推进,短板原理盛水最大量取决于最短的木板,所以我们算出当前水量后循环找出更长的“木板”即可,短一些的由于宽高都在减小盛水量必然是比不过之前的。这样的循环可以节约大量时间。

2022-10-07 16:52:23 85

原创 回文数 | leetcode算法学习

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。方法1:将数字转为字符串数组逐位比较方法2:数字翻转比较

2022-10-07 15:53:58 95

原创 最大升序子数组 | leetcode算法学习

给你一个正整数组成的数组 nums ,返回 nums 中一个 升序 子数组的最大可能元素和。子数组是数组中的一个连续数字序列。已知子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,若对所有 i(l

2022-10-07 15:04:13 105

原创 字符串转换整数 | leetcode算法学习

1.除去前导02.判断正负3.在遇到非数字字符时停止程序返回04.注意溢出5.返回整数

2022-10-06 17:35:42 155

原创 子域名访问计数 | leetcode算法学习

这道题用HashMap思路很简单,将数组里的各级域名都拆出来然后放在一个新表中,由于放在HashMap中既可以满足域名唯一性以及便捷提取数据的特点显然要比放在数组里合适,在数组中添加新的数据时要先遍历一次是否存在该内容,并且计数也不是很方便,HashMap的key,value特性还有put,get方法直接就解决了这个问题,但是由于put方法会覆盖之前的值,所以我们使用 **getOrDefault(Object key, V defaultValue)** 方法,意思就是当Map集合中有这个key时,就使用

2022-10-06 15:50:55 107

原创 Z字形变换 | leetcode算法学习

理解题意后可知Z是竖着的,可能N更合适一点,从上到下从左到右把字符串按要求排列,第一下想到的是数组,观察后可发现可以把它分为一竖一斜线的重复执行,且每条竖线开始的下标有迹可循,每次开头所要遍历的字符个数也是相同的(除了最后一次可能不完整)。每一个圈为一次循环,上面是原数组遍历个数,下面是新数组每次循环下标增加的值,还有定义二维数组时列数为`字符串长度一半+numRows-1` ,为了保证每个元素都能被遍历到,for循环在字符串长度的基础上加了一个循环的长度,但这样会导致字符串被遍历完时for循环还没完成的情

2022-10-04 16:57:17 112

原创 使括号有效的最少添加 | leetcode算法学习

只有满足下面几点之一,括号字符串才是有效的: - 它是一个空字符串,或者 - 它可以被写成 AB (A 与 B 连接), 其中 A 和 B 都是有效字符串,或者 - 它可以被写作 (A),其中 A 是有效字符串。 给定一个括号字符串 s ,移动N次,你就可以在字符串的任何位置插入一个括号。 例如,如果 s = “()))” ,你可以插入一个开始括号为 “(()))” 或结束括号为 “())))” 。 返回 为使结果字符串 s 有效而必须添加的最少

2022-10-04 14:22:50 138

原创 最长回文子串 | leetcode算法学习

保存起始位置把回文看成中间的部分全是同一字符,左右部分相对称找到下一个与当前字符不同的字符查找中间部分定位中间部分的最后一个字符从中间向左右扩散记录最大长度

2022-10-03 16:38:36 82

原创 检查二进制字符串字段 | leetcode算法学习

思路:先把1第一次出现的位置用函数indexof找出,然后从此向后遍历,由于字符串没有下标,所以我们在indexof返回的位置基础上单独设置一个变量作为位置然后使用charAt返回ASCII码值与0和1进行比较,遇到0的时候说明这段连续1的子串已经被找出,子串数+1,然后略过连续0的部分寻找可能存在的下一个1,找到之后依旧是在碰到0时表明第二个子串已被找出,子串数+1·······

2022-10-03 15:39:34 142

原创 重新格式化电话号码 | leetcode算法学习

简单题,思路也简单,只需要处理初始字符串和在规定位置添加`-`就可。由于replace函数不能修改原字符串,所以要重新赋值,根据条件在剩余字符数大于4的情况下末四位要根据情况来定,所以将2、3、4及4以上位数分开讨论,前三部较简单第4步设置for循环依次递增在遇到3的整数倍时添加`-`,同样在剩余4位时进行不同处理,这里注意一定要在添加完`-`后判断,否则可能会出现末4位中前三位后加破折号只留最后一位的情况,不符合题意。

2022-10-01 10:14:06 101

原创 无重复字符的最长字符串 | leetcode算法学习

又是一道中等难度的题,解法也十分巧妙,首先将字符串的存储转为ASCII码的存储,这样做的意义就在于能够将循环查找改为索引查找,在判断该字符是否为首次出现有很大帮助。其次这样可以只使用一次循环,在遇到相同字符时从前一字符的下一位开始继续寻找更长的子串,方便快捷。此外,此解与官方解有区别的地方就在于这里在遇到重复字符时采取的方式为将新**的子串起始位置变为第一次重复的字符右一位**,而不是按顺序每次都向右移一位,这样做的好处为**减少循环次数**,但缺点为**增加了空间去记录每个字符的位置**,属于以空间换时间

2022-09-30 18:13:32 301

原创 零矩阵 | leetcode算法学习

编写一种算法,若M × N矩阵中某个元素为0,则将其所在的行与列清零。这道题的思路很简单,就是找出0所在行列的下标然后输出的时候进行判断,由于直接进行清除会导致同行列的0对应行列不能被清除,所以要先找到所有的0。个人认为妙点在 **row[i] = true,col[j] = true**这两行,这样不用每次都计算当前数是不是在已记录的下标当中。

2022-09-30 16:31:12 167

原创 字符串轮转 | leetcode算法学习

字符串轮转两种解法

2022-09-29 20:46:48 77

原创 两数相加 | leetcode算法学习

单链表的创建、简单功能、两数相加思路

2022-09-29 20:12:52 78

原创 两数之和 leetcode算法学习

查找表法

2022-09-28 10:43:35 61

原创 了解响应式布局--知识点+案例详细讲解

+ 媒体查询- MediaQuery使用方法- @media常用参数- 媒体查询的其他引入方式+ flex弹性布局+ 案例展示:- 1.输入框布局- 2.长表单布局- 3.不同宽度的视口下自动调整字体大小- 4.自适应布局- 5.响应式布局

2022-01-29 21:08:25 836

原创 响应式布局之案例--常见电商类页面效果

本博客由于字数原因从作者上一篇博客摘分出来进行讲解,如果想了解响应式布局可以点此链接进入。响应式布局的布局特点为确保一个页面在所有终端上,都能显示出令人满意的效果,用一句话来概括就是 一套方案,处处运行。废话不多说,先来看看页面在移动端和pc端的效果pc端:移动端:可以看出来,最上面是banner区,左侧导航,右侧内容展示,妥妥的电商平台网页,实现方法就是调整布局的宽高占比、横纵排列以及细节优化。怎么具体实现请看代码:html部分很简单,只有div盒子以及li标签。 <div.

2022-01-29 20:46:02 1436

原创 蓝桥杯2018年省赛真题--全球变暖

题目描述你有一张某海域 NxNNxNNxN 像素的照片,".“表示海洋、”#"表示陆地,如下所示:. . . . . . .. # # . . . .. # # . . . .. . . . # # .. . # # # # .. . . # # # .. . . . . . .其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有 2 座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(.

2022-01-26 19:46:26 1457

原创 c语言求解常用算法

快捷且常用的算法可以在做题时起到事半功倍的效果,建议记忆后使用。不定时更新~1.快速幂运算2.最大公约数3.最小公倍数4.求一个数的所有因子

2022-01-24 10:57:44 361

原创 蓝桥杯2018年省赛真题--航班时间

今天给大家分享一波蓝桥杯比较有意思的一道题目,它的名字叫航班时间题目描述小 h 前往美国参加了蓝桥杯国际赛。小 h 的女朋友发现小 h 上午十点出发,上午十二点到达美国,于是感叹到"现在飞机飞得真快,两小时就能到美国了"。小 h 对超音速飞行感到十分恐惧。仔细观察后发现飞机的起降时间都是当地时间。由于北京和美国东部有 12 小时时差,故飞机总共需要 14 小时的飞行时间。不久后小 h 的女朋友去中东交换。小 h 并不知道中东与北京的时差。但是小 h 得到了女朋友来回航班的起降时间。小 h 想知.

2022-01-23 21:41:13 684

原创 浮动对页面带来的影响以及怎样消除浮动(详细)

网页布局是 CSS 的一个重点应用,传统的盒子模型依赖的主要是display,position以及float属性。在多次应用浮动之后,我决定深入了解浮动的原理,应用以及浮动带来的影响,如何清除浮动等,进行一番深入探索。自己汲取知识的同时也能方便在看的读者朋友,让我们开始吧!首先,什么是浮动?浮动,顾名思义,就是浮起来,脱离文档流,元素脱离正常元素的布局排版规则,其他处于文档流中的盒子在计算布局排版时,会自动无视已脱离文档流的元素来进行定位。float属性用于创建浮动框,将其移动到一边,直到左边缘或.

2022-01-22 00:06:41 2196

原创 数据结构学习笔记-查找

声明:本博客仅为本人学习途中做的笔记 采自青岛大学王卓老师的视频教学 主要内容为算法思路,具体代码实现还需修改后才能运行,望各位看官多多包涵,您的点赞与评论是对我最大的肯定!1.查找的基本概念在哪里找?\qquad\qquad\qquad——查找表查找表是由同一类型的数据元素(或记录)构成的集合。由于“集合”中的数据元素之间存在着松散的关系,因此查找表是一种应用灵便的结构。什么是查找?\qquad\qquad\qquad——根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素或(.

2021-12-30 16:30:17 413

原创 函数传参的三种方式(详细)

最近又碰到了函数传参的问题,每次碰到都会让作者疑惑一段时间,这次干脆总结整理一下,顺便让自己更加透彻的了解传参的问题。咱们开始吧。c语言中,函数调用时传送给形参表的实参必须与形参有三个一致:类型、个数、顺序,函数传参有三种方式:值传递,地址传递,引用传递下面我们首先来介绍值传递:值传递为最简单的一种,因为它是把实参的值传送给函数局部工作区相应的副本中,函数使用这个副本执行必要的功能。函数修改的是副本的值,实参的值不变。我们来看代码:#include<stdio.h>void.

2021-12-26 09:33:59 19568 4

原创 数据结构与算法学习笔记-排序

声明:本博客仅为本人学习途中做的笔记 采自青岛大学王卓老师的视频教学 主要内容为算法思路,具体代码实现还需修改后才能运行,望各位看官多多包涵,您的点赞与评论是对我最大的肯定!数据结构{数据的逻辑结构{线性结构{线性表栈(特殊线性表)队列(特殊线性表)字符串、数组、广义表非线性结构{树形结构图形结构数据的存储结构{顺序存储链式结构数据的运算:插入、删除、修改、查找、排序等数据结构 \begin{cases}数据的逻辑结构\begin{cases} 线性结构\begin{cases}线性表\.

2021-12-15 22:49:04 1266

原创 数据结构与算法学习笔记-图

声明:本博客仅为本人学习途中做的笔记 采自青岛大学王卓老师的视频教学 主要内容为算法思路,具体代码实现还需修改后才能运行,望各位看官多多包涵,您的点赞与评论是对我最大的肯定!1.图的定义和基本术语图:G=(V,E)V:顶点(数据元素)的有穷非空集合G:边的有穷集合无向图:每条边都是无方向的有向图:每条边都是有方向的完全图:任意两个点都有一条边相连稀疏图:有很少边或弧的图(e<nlogn)稠密图:有较多边或弧的图网:边/弧带权的图邻接:有边/弧相连的两个顶点之间的联系存在(.

2021-12-10 22:43:48 788

原创 数据结构与算法学习笔记-树和二叉树

声明:本博客仅为本人学习途中做的笔记 采自青岛大学王卓老师的视频教学 主要内容为算法思路,具体代码实现还需修改后才能运行,望各位看官多多包涵,您的点赞与评论是对我最大的肯定!1.树和二叉树的定义数据的逻辑结构{线性结构{线性表栈(特殊线性表)队列(特殊线性表)字符串、数组、广义表非线性结构{树形结构图形结构数据的逻辑结构\begin{cases} 线性结构\begin{cases} 线性表 \\ 栈(特殊线性表) \\ .

2021-12-10 22:12:06 675

原创 数据结构与算法学习笔记-栈和队列

声明:本博客仅为本人学习途中做的笔记 采自青岛大学王卓老师的视频教学 主要内容为算法思路,具体代码实现还需修改后才能运行,望各位看官多多包涵,您的点赞与评论是对我最大的肯定!1.栈和队列的定义和特点栈和队列是两种常用的、重要的数据结构栈和队列是限定插入和删除只能在表的"端点"进行的线性表栈和队列是线性表的子集(是插入和删除位置受限的线性表)由于栈的操作具有后进先出的固有特性,使得栈成为程序设计中的有用工具。另外,如果问题求解的过程具有"后进先出"的天然特性的话,则求解的算法中也必然需要利用.

2021-12-10 21:00:29 1095

原创 数据结构与算法学习笔记-线性表

声明:本博客仅为本人学习途中做的笔记 采自青岛大学王卓老师的视频教学 主要内容为算法思路,具体代码实现还需修改后才能运行,望各位看官多多包涵,您的点赞与评论是对我最大的肯定!# 1.线性表的定义和特点线性表是具有相凤特性的数据元素的一个有限序列(a1,a2,...ai−1,ai,ai+1,...,an)(a_1, a_2, ... a_i-_1, a_i,a_i+_1, ..., a_n)(a1​,a2​,...ai​−1​,ai​,ai​+1​,...,an​)\qquad\qquad\q.

2021-12-10 19:30:10 591

原创 Typora数学公式总结

公式块与行内公式的添加1.公式块创建一块独立的公式区域上部分为公式输入区下部分为效果展示区快捷键$$+回车2.行内公式将公式嵌入文字内。在$$的中间加入需要的公式(行内公式需先进行设置)常用公式代码上下标,正负无穷加减乘,分式,根号,省略号三角函数矢量,累加累乘,极限希腊字母关系运算符上下标,正负无穷加减乘,分式,根号,省略号三角函数矢量,累加累乘,极限希腊字母关系运算符矩阵简单矩阵带左右括号的矩阵包含希腊字母与省略号简单矩阵带

2021-10-07 15:12:49 4070

原创 Vue项目实战总结(八 组件传值)

父子组件父子组件有两种形式第一种:在同一个vue文件中 <div id="box"> <!-- 使用组件aaa --> <aaa></aaa> </div> var vm = new Vue({ el:'#box', components:{ 'aaa':{ template: '<h2>我的aaa组件,我有子组件bbb

2021-08-27 15:51:37 169 1

原创 Vue项目实战总结(七 页面刷新)

全局刷新window.location.reload();局部刷新用于页面分区域后某一区域修改数据后的刷新父组件<router-view v-if="isRouterAlive" ></router-view>export default { provide() { return { reload: this.reload }; }, data() { return { isRouterAlive: true}; }

2021-08-27 11:47:53 60

原创 Vue项目实战总结(六 element ui 中的消息提醒)

this.$message('这是一条消息提示');this.$message({ message: '恭喜你,这是一条成功消息', type: 'success' });this.$message({ message: '警告哦,这是一条警告消息', type: 'warning' });this.$message.error('错了哦,这是一条错误消息');this.$

2021-08-27 11:43:00 489

原创 Vue项目实战总结(五 插槽)

话不多说,直接开冲<el-table :data="data" style="width: 100%"> <el-table-column align="center" label="一级标题" width="190" > <template slot-scope="scope"> <div slot="reference" class="name-wrapper"> <el-tag size="medium"

2021-08-26 15:13:04 77

原创 Vue项目实战总结(四 弹框)

弹框用于在vue中使用rules对表单字段进行验证写在data中<div> <el-dialog title="增加简介" :visible.sync="changeVisible" > <el-form :model="form" :rules="rules" ref="form"> <el-form-item label="一级标题" prop="title1"> <el-input v-model="f

2021-08-26 11:45:01 255

空空如也

空空如也

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

TA关注的人

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