- 博客(59)
- 资源 (7)
- 收藏
- 关注
原创 【算法】链表
需要注意的是,在移除链表中的节点时,可能需要对特殊情况进行处理,例如链表为空或只包含一个节点的情况。这可以包括删除链表的头节点、尾节点或者中间的某个节点。综上所述,通过使用递归方式和节点交换操作,可以两两交换链表中相邻的节点并返回交换后的链表头节点。示例中,创建了一个包含五个节点的链表,并打印了原链表和删除节点后的链表。需要注意的是,如果要删除的是链表中的最后一个节点,即倒数第 n+1 个节点不存在,可以直接返回。反转链表是指将单向链表的顺序逆转,即原本的链表方向由头节点指向尾节点,变为尾节点指向头节点。
2023-07-10 09:33:01 263
原创 【算法】寻找右侧边界的二分查找
与寻找左侧边界的二分搜索类似,该算法的基本思想也是在每次迭代中将搜索范围缩小一半,直到找到目标元素或搜索范围为空为止。在寻找右侧边界时,如果中间元素等于目标值,则继续在右半部分搜索,否则在左半部分搜索。与寻找左侧边界的二分搜索相比,寻找右侧边界的二分搜索只需要将判断条件稍作修改即可。与寻找左侧边界的二分搜索相比,寻找右侧边界的二分搜索只需要将判断条件稍作修改即可。总的来说,寻找右侧边界的二分搜索与寻找左侧边界的二分搜索类似,都是高效的算法,但需要满足一定的前提条件才能发挥其优势。
2023-05-15 08:51:36 719 1
原创 【算法】寻找左侧边界的二分搜索
寻找左侧边界的二分搜索是一种变体,它可以找到第一个等于目标值的元素的位置。如果数组中不存在目标值,则返回-1。该算法的基本思想是在每次迭代中将搜索范围缩小一半,直到找到目标元素或搜索范围为空为止。在寻找左侧边界时,如果中间元素等于目标值,则继续在左半部分搜索,否则在右半部分搜索。如果中间元素大于目标值,则在左半部分搜索,否则在右半部分搜索。然而,该算法需要数组是有序的,如果数组无序,则需要先进行排序,这会增加时间复杂度。此外,该算法只适用于静态数组,如果数组需要频繁插入或删除元素,则需要使用其他数据结构。
2023-05-15 08:48:28 598
原创 【算法】二分搜索一个数
其优点是时间复杂度为O(log n),其中n是数组中元素的数量,这使得它成为一种非常有效的搜索算法,特别是对于大型数据集。相比于线性搜索算法的时间复杂度为O(n),二分搜索算法的时间复杂度更低,因此在处理大型数据集时,它的效率更高。首先,它要求数组必须是已排序的,如果数组未排序,则需要先对其进行排序,这将增加算法的时间复杂度。其基本思想是将数组分成两个部分,然后确定目标元素可能存在的那一部分,并继续在该部分中进行搜索,直到找到目标元素或确定目标元素不存在为止。2. 确定数组的中间元素。
2023-05-04 10:35:08 626 1
原创 【算法】堆排序
堆排序思路:* 1.让数组变成大根堆* 2.把最后一个位置和堆顶做交换* 3.则最大值在最后,则剩下部分做heapify,则重新调整为大根堆,则堆顶位置和该部分最后位置做交换* 4.重复进行,直到减完,则这样最后就调整完毕,整个数组排完序(为一个升序)* 「时间复杂度:O(N * logN)」* 「空间复杂度:O(1)」
2023-04-10 16:05:11 169
原创 【算法】快速排序
快速排序实现思路:随机取出一个值进行划分,大于该值放右边,小于该值放左边(该算法在经典快排的基础上经过荷兰国旗思想和随机思想进行了改造)* 「时间复杂度:O(N*logN)」* 「空间复杂度:O(logN)」* 快速排序其实就是二叉树中前序遍历的处理方式。
2023-04-10 08:50:19 497
原创 【算法】冒泡排序
相比于原始的冒泡排序算法,这种优化方式可以减少不必要的比较和交换,从而提高算法的性能。在最坏情况下,即数组已经按照相反的顺序排列,优化后的算法的时间复杂度仍然是O(n^2),但是在其他情况下,算法的性能会得到显著的提升。这样可以减少不必要的比较和交换,从而提高算法的性能。这个实现在每次遍历中都会检查是否进行了交换,并在没有交换的情况下提前退出循环。这样可以减少比较和交换的次数,从而提高算法的性能。
2023-04-03 09:05:56 547
原创 【力扣算法】20 - 有效的括号
给定一个只包括'(',')','{','}','[',']'的字符串s,判断字符串是否有效。1.左括号必须用相同类型的右括号闭合。采取入栈和出栈的规则来完成相关的设计。输入: s = '()[]{}'2.左括号必须以正确的顺序闭合。输入: s='(]'
2023-03-09 14:14:42 104
原创 分享几个图床网址,便于大家分享图片
1·ImgURL 图床ImgURL(ImgURL免费图床https://https://www.imgurl.org/)又是一个比较老牌的免费图床服务,稳定性不错,无需注册。游客限制每日上传10张,单张图片不能超过 5M,支持 HTTPS。诞生于2017年12月,是一款开源图片管理系统(简称图床),无需注册即可支持多图上传、粘贴上传、URL上传,图片压缩、图片鉴黄等多种功能,同时也支[size=1.2em]多图上传、粘贴上传、URL上传,图片压缩、图片鉴黄等多种功能,同时也支持自建。2·PostImage
2022-06-22 08:25:10 15950
原创 【React】从零开始搭建react函数式组件+router+redux+less+sass+axios反向代理+antd
【React+TS】从零开始搭建react+router+redux+less+sass+axios反向代理+antd,如有问题,请及时留言,看到后会及时解答的
2022-05-04 11:27:15 3436 1
原创 小米手机彻底关闭广告经验分享
帮朋友买了个小米12P,到手后发现广告一大堆,于是利用两个小时整理,总结出以下关闭广告方法,如朋友们还有其他补充,请直接评论即可 ,给大伙做个参考。1.设置→小米账号→声明与条款→系统广告→系统工具广告→关闭2.设置→应用设置一应用管理→右上角三个点→设置→关闭“应用升级提醒”&“资源推荐”3.桌面左滑打开负一屏→划到底部→设置(◎)→服务管理→选择关闭项目4.桌面→打开任意文件夹→点击文件夹名称一关闭“猜你喜欢”5.短信→右上角设置()→高级设置(倒数第二个)→关闭“允许Wap推送”6.浏览器→.
2022-04-07 09:32:19 3191
原创 【圣诞树demo】html+css+js+svg实现圣诞树
主要利用c3动画以及svg素材实现的圣诞树demo,其中有背景音乐,js主要是设置雪花的随机生成以及案件开关圣诞树灯光等效果
2022-01-11 22:22:20 1162
原创 【css】css实现加载动画
css: #loading2, #loading2::before, #loading2::after { width: 0; border-right: 1em solid #FFEFAF; border-left: 0em solid #FFEFAF; border-top: 0em solid transparent; height: 2em; display: block; content: '';
2022-01-05 20:46:04 712
原创 【css】css实现浮动加载动画
效果图html:<div class="loader"></div><div class="shadow"></div>css: @-webkit-keyframes mainAnimation { 0% { width: 50px; transform: translateX(0px) translateY(0px) rotate(0deg); }
2022-01-04 20:43:15 499
原创 【css】css实现吃豆人加载动画
html:<div id="pacman1"></div>css: #pacman1 { display: block; position: absolute; top: 50%; left: 50%; height: 50px; width: 50px; margin: -25px 0 0 -25px; } #pacman1:before, #pacman1:af
2021-12-28 21:08:07 478
原创 【css】css实现加载动画
html:<div id="square4"> <span></span> <span></span> <span></span> <span></span></div>css: #square4 { display: block; position: absolute; top: 50%; left:
2021-12-27 20:59:58 641
原创 【css】css实现酒杯加载动画
html: <div class="loader"> <ul> <li></li> <li></li> <li></li> </ul> <div class="wineglass left"> <div class="top"></div> </div> <div class="wineg
2021-12-26 21:04:22 197
原创 【css】css实现果冻盒子加载动画
html: <div id="loader"> <div id="shadow"></div> <div id="box"></div> </div>css: #loader { /* 取消这行注释,让它跑起来 */ /* animation: loader 5s linear infinite; */
2021-12-25 19:43:16 572
原创 【css+js】h5+c3+js实现彩虹三角加载动画
html:<div class="triangle-wrapper"> <div class="triangle triangle-1"></div> <div class="triangle triangle-2"></div> <div class="triangle triangle-3"></div> <div class="triangle triangle-4"></div>
2021-12-24 21:06:13 525
原创 TCP和UDP的区别
(1)TCP是面向连接的,udp是无连接的即发送数据前不需要先建立链接。(2)TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。并且因为tcp可靠,面向连接,不会丢失数据因此适合大数据量的交换。(3)TCP是面向字节流,UDP面向报文,并且网络出现拥塞不会使得发送速率降低(因此会出现丢包,对实时的应用比如IP电话和视频会议等)。(4)TCP只能是1对1的,UDP支持1对1,1对多。(5)TCP的首部较大为20
2021-12-22 21:43:57 713
原创 【css】纯css实现图片发光效果
html:<div class="box"> <!-- <img src="4.jpg"> --> <h1>我是图片</h1></div>css:* { /* 初始化 取消页面元素的内外边距 */ padding: 0; margin: 0; } body { /* 弹性布局 让页面元素垂直+水平居中 */ display: fle...
2021-12-21 19:13:11 3944
原创 【js】 JavaScript实现抽奖效果
html:抽奖开始显示:<div></div> <button>开始抽奖</button> <button>停止抽奖</button> <input type="text">js://获取div元素 var odiv = document.querySelector('div'); //获取按钮元素 var obt = document.
2021-12-20 19:16:37 2353
原创 【react+ts】react+ts实现仿百度搜索提示框
import React, { Component } from "react";import "./search.scss";interface Props {}interface state { searchList: Array<string>; newTestList: Array<string>;}export default class SearchHistory extends Component<Props, state> { .
2021-12-17 20:13:52 726
原创 【报错记录】TouchMove事件中(忽略取消一个touchmove事件的尝试(cancelable=false),例如,因为滚动正在进行中,不能被中断。)的问题解决方案
TouchMove事件中(忽略取消一个touchmove事件的尝试(cancelable=false),例如,因为滚动正在进行中,不能被中断。)的问题解决方案
2021-12-17 11:08:06 2493 1
原创 【react+ts】react+ts实现双滑块移动效果(事件委派写法),交叉
react+ts实现双滑块移动效果,使用了事件委派写法,比前一种分元素的写法和布局大不相同,结构也简单,性能更好
2021-12-16 21:36:59 537
原创 【react+ts】react+ts实现双滑块移动效果,包含交叉和碰撞
import React, { Component } from "react";import "./block.scss";interface Props {}interface state { left1: number; left2: number; maxWidth: number;}class BlockDrog extends Component<Props, state> { slideButton1: any = React.createRef().
2021-12-15 20:11:44 1359
原创 【react+ts】react+ts多种方法实现返回顶部demo
本文主要使用了以下方法来实现此功能(1). [react方式]利用定时器requestAnimationFrame来实现(2). [react方式]利用html自带的方法scrollTo来实现(3). [react方式]方法1和方法2的结合版(4). [react+ts]利用定时器requestAnimationFrame和运动来实现(5).[react+ts]利用定时器setInterval来实现
2021-12-14 20:57:43 1238
原创 【css】如何实现两栏布局,右侧自适应?三栏布局中间自适应呢?
一、双栏布局双栏布局非常常见,往往是以一个定宽栏和一个自适应的栏并排展示存在实现思路也非常的简单:使用 float 左浮左边栏 右边模块使用 margin-left 撑出内容块做内容展示 为父级元素添加BFC,防止下方元素飞到上方内容代码如下:<style> .box{ overflow: hidden; 添加BFC } .left { float: left; width: 200px;
2021-12-13 21:09:21 614
原创 【css】纯css实现二级导航菜单
效果:html:<div class="navbar"> <div class="nav"> <ul> <li> <a href="javascript:;">一级菜单1</a> </li> <li> <a href="javascript:;">一级菜单2</a> <ol> .
2021-12-12 21:46:01 2220
原创 【css】css3动画实现鼠标悬停按钮动画
html<a href="#"><span></span>Button</a>css:body{ margin: 0; padding: 0; font-family: sans-serif;}a{ position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); paddin...
2021-12-11 18:24:07 872
原创 【react+ts】拖拽功能简单小demo实现
tsx:import { Component } from "react";import './drog.sass'interface Props{}interface state{ X:number Y:number}class Drog extends Component<Props,state>{ x:number=0 y:number=0 disX:number=0 disY:number=0 constructor(props:Prop
2021-12-10 21:06:51 673 2
原创 【css】css3实现弹跳小球
html:<div></div><div></div>css:*{ margin: 0; padding: 0; } body { width: 100vw; height: 100vh; display: flex; flex-direction: colu...
2021-12-09 21:07:19 626
原创 【React+TS】从零开始搭建react+typescript+router+redux+less+pxToVw自适应+sass+axios反向代理+别名@+Antd-mobile
【React+TS】从零开始搭建react+typescript+router+redux+less+px2rem自适应+sass+axios反向代理+别名@+antd-mobil,如有问题,请及时留言,看到后会及时解答的本次修改原因:提供两种方式px2rem和pxToVw配置自适应,删减重复步骤
2021-12-08 19:38:23 9225 11
81款 excel 进度甘特图
2023-11-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人