自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 svg入门学习笔记

svg学习笔记

2023-03-02 15:24:35 193

原创 网页速度优化的基础步骤

网页速度优化的基础步骤

2022-11-23 17:41:26 435

原创 RegExp 正则表达式

javascript 正则表达式

2022-09-09 18:34:12 625

原创 汉诺塔的递归算法

汉诺塔的递归算法

2022-08-24 18:06:35 176

原创 树莓派+ATC搭建弱网环境

树莓派安装1. 散热片粘贴买的是3B+的,所以跟毛哥给的链接中的贴法不太一样,3B+出厂主CPU自带散热片,所以购买配过来的散热片只有一铜一铝,贴法如下:2. 安装外壳和风扇可以参考这个链接的视频来安装所购买的对应外壳和风扇:链接3. 烧录系统(在自己的电脑进行这一步骤)前期准备:烧录之前需要确保TF卡未分盘(一般新买来的TF盘都有分盘),否则烧录时会报错步骤如下:打开cmd输入指令,用于查看磁盘diskpartlist disk找到磁盘大小为十几G的磁盘(购买的内

2022-01-07 11:45:49 1890 1

原创 TIME_WAIT状态和FIN_WAIT_2状态

TIME_WAIT状态TIME_WAIT 状态,又称为 2MSL 等待状态。只有主动关闭一方才能进入 TIME_WAIT 状态。MSL(Maximum Segment Lifetime)表示报文段最大生存时间当 TCP 协议进入 TIME_WAIT 状态时,必须要在这个状态停留 2 倍 MSL 的时间。tcp连接在TIME_WAIT状态必须存在2MSL才能进入CLOSE状态。详情请看用到2MSL原因TCP在四次挥手中,可能出现最后一个ACK丢失,即客户端发送的ACK在网络中丢失

2021-12-25 16:26:44 810

原创 Leetcode154.寻找旋转排序数组中的最小值II

已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,4,4,5,6,7] 在变化后可能得到:若旋转 4 次,则可以得到 [4,5,6,7,0,1,4]若旋转 7 次,则可以得到 [0,1,4,4,5,6,7]注意,数组 [a[0], a[1], a[2], …, a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], …, a[n-2]] 。给你一个可能存在 重复 元素值的数组 nu

2021-12-25 16:24:06 78

原创 LeetCode347.前k个高频元素

题目描述:给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]提示:1 <= nums.length <= 105k 的取值范围是 [1, 数组中不相同的元素的个数]题目数据保证答案唯一,换句话说,数组中前 k 个高频元素的集合是唯一的**进阶:**你所设计

2021-12-25 16:23:47 249

原创 LeetCode 75.颜色分类

题目描述给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。示例 1:输入:nums = [2,0,2,1,1,0]输出:[0,0,1,1,2,2]示例 2:输入:nums = [2,0,1]输出:[0,1,2]示例 3:输入:nums = [0]输出:[0]示例 4:输入:nums = [1]输出:[1]提示:n == nums.le

2021-12-25 16:23:29 290

原创 LeetCode 547.省份数量

题目描述有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。省份 是一组直接或间接相连的城市,组内不含其他没有相连的城市。给你一个 n x n 的矩阵 isConnected ,其中 isConnected[i][j] = 1 表示第 i 个城市和第 j 个城市直接相连,而 isConnected[i][j] = 0 表示二者不直接相连。返回矩阵中 省份 的数量。示例 1:输入:isConnec

2021-12-25 16:22:57 75

原创 ajax学习&练习笔记

AJAX1. 定义Ajax即异步javaScript和XML,是指一种创建交互式、快速动态网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。局部刷新: 部分网页内容进行更新,常见需求有:下拉刷新列表、上拉加载更多列表、用户名是否被注册异步: Ajax在http响应没有结果的时候,可以继续进行后续操作,从而提高用户体验AJAX不是Jav

2021-08-29 15:43:32 240

原创 Koa搭建后端环境

安装node.jsKoa2环境搭建创建一个目录作为工程目录,我的是在F:\Ajax在该文件中打开cmd,并输入npm i -g koa-generator进行脚手架的安装通过命令koa2 文件夹名创建项目文件夹,这个命令会自动创建一些初始代码进入项目文件夹cd指令,安装初始依赖npm i启动Koa框架npm run dev,出现[nodemon] startingnode bin/www``就说明启动成功了在浏览器中输入http://localhost:3000/出现以下图所示,则说明

2021-08-20 10:26:13 191

原创 77.组合(回溯 + 剪枝)

题目描述:给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。示例:输入: n = 4, k = 2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]思路:回溯思路看4

2021-07-14 21:33:41 97

原创 LeetCode 451.根据字符出现频率排序

题目描述:给定一个字符串,请将字符串里的字符按照出现的频率降序排列。示例 1:输入:“tree”输出:“eert”解释:'e’出现两次,'r’和’t’都只出现一次。因此’e’必须出现在’r’和’t’之前。此外,"eetr"也是一个有效的答案。示例 2:输入:“cccaaa”输出:“cccaaa”解释:'c’和’a’都出现三次。此外,"aaaccc"也是有效的答案。注意"cacaca"是不正确的,因为相同的字母必须放在一起。示例 3:输入:“Aabb”输出:“

2021-07-14 20:24:49 64

原创 LeetCode 695.岛屿的最大面积

题目描述:给定一个包含了一些 0 和 1 的非空二维数组 grid 。一个 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为 0 。)示例 1:[[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,1,1,0,1,0,0,0,0,0,0,0,0],

2021-07-14 20:24:20 186

原创 417.太平洋大西洋水流问题(dfs)

题目:给定一个 m x n 的非负整数矩阵来表示一片大陆上各个单元格的高度。“太平洋”处于大陆的左边界和上边界,而“大西洋”处于大陆的右边界和下边界。规定水流只能按照上、下、左、右四个方向流动,且只能从高到低或者在同等高度上流动。请找出那些水流既可以流动到“太平洋”,又能流动到“大西洋”的陆地单元的坐标。提示:输出坐标的顺序不重要m 和 n 都小于150示例:给定下面的 5x5 矩阵:太平洋 ~ ~ ~ ~ ~1 2 2 3 (5) *3 2 3

2021-07-14 20:23:49 153

原创 31.下一个排列

题目:实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须 原地 修改,只允许使用额外常数空间。示例 1:输入:nums = [1,2,3]输出:[1,3,2]示例 2:输入:nums = [3,2,1]输出:[1,2,3]示例 3:输入:nums = [1,1,5]输出:[1,5,1]示例 4:输入:nums = [1]输出:[1]提示:1 <= nums.l

2021-07-14 20:23:03 49

原创 47.全排列II

题目:给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。示例 1:输入:nums = [1,1,2]输出:[[1,1,2],[1,2,1],[2,1,1]]示例 2:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]提示:1 <= nums.length <= 8-10 <= nums[i] <= 10思路:主要用的是第31题的思想,把题目

2021-07-14 20:22:30 61

原创 996.正方形数组的数目(回溯+剪枝)

题目描述:给定一个非负整数数组 A,如果该数组每对相邻元素之和是一个完全平方数,则称这一数组为正方形数组。返回 A 的正方形排列的数目。两个排列 A1 和 A2 不同的充要条件是存在某个索引 i,使得 A1[i] != A2[i]。示例 1:输入:[1,17,8]输出:2解释:[1,8,17] 和 [17,8,1] 都是有效的排列。示例 2:输入:[2,2,2]输出:1提示:1 <= A.length <= 120 <= A[i] <= 1e9思路:整体思

2021-07-14 20:21:52 268

原创 webSocket和AJAX

webSocketHTTP 协议有一个缺陷:通信只能由客户端发起,HTTP 协议做不到服务器主动向客户端推送信息,只能通过轮询(每隔一段时候,就发出一个询问,了解服务器有没有新的信息)和长链接(客户端发起求情,服务器端把这个链接攒在手里不回复,等有消息了再回,如果超时了,客户端再发起请求)WebSocket 协议:**最大特点:**服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种,目前所有浏览器都已经支持了其他特点包括:(1

2021-07-12 15:57:43 346 1

原创 用 gun/sword 数据集训练你的物体检测模型,并对数据集中的验证集进行检测,计算出 mAP

环境配置查看电脑的cuda版本下载opencv3.4.0

2021-07-11 09:05:13 679

原创 LeetCode215.数组中的第k个最大的元素

题目描述:在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。解题思路:这里用的是快速排序,可以去看看官方解题的快速排序+随机数(加入随机数可以解决最坏情况),一开始快速排序的思路写的代码重复语句比较

2021-06-20 14:21:57 157

原创 LeetCode69 x的平方根

题目详情:实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842…,由于返回类型是整数,小数部分将被舍去。解题思路:解题用的是二分法,其实方法很简单,直接看代码就能懂,但是就是溢出问题有点难想到,当进行乘法运算时,如果给的用例很大(2^31 - 1 整型int的最大范围了)时,就会发生溢

2021-06-09 17:04:53 51

原创 LeetCode88.合并两个有序数组

题目描述:给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n,这样它就有足够的空间保存来自 nums2 的元素。示例 1:输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3输出:[1,2,2,3,5,6]示例 2:输入:nums1 = [1]

2021-06-08 00:42:31 57

原创 leetCode167:两数之和II-输入有序数组

题目描述:给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 1 开始计数 ,所以答案数组应当满足 1 <= answer[0] < answer[1] <= numbers.length 。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例 1:输入:numbers = [2,7,11,15], tar

2021-06-07 22:39:12 72

原创 for循环中的i++和++i

for(语句1; 语句2; 语句3){ 代码块}上面代码中,语句3是在代码块执行完之后,才会执行的,所以在for循环中写入 i++ 和 ++i 结果都是一样的。不过 ++i 的性能会比 i++ 好一点,因为 i++ 使用时,会需要一个临时变量来存储 i + 1(i++;执行规则是:i = 当前值; i = i +1;)...

2021-05-21 21:45:26 1346

转载 C++ sort函数的第三个参数

讲得还不错的博客

2021-05-21 19:25:58 602

转载 C++11 lambda表达式

C++11 lambda表达式

2021-05-21 19:21:00 47

原创 贪心算法:leetcode455. 分发饼干

题目描述:假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。解题思路:这里我用贪心算法:先将g和s从小到大排序,然后把最小的饼干尺寸给胃口最小(不过胃口一定要小于等于当前这个最小饼干

2021-05-19 22:11:08 161

原创 算法:两数之和(暴破)

题目描述:给出一个整数数组,请在数组中找出两个加起来等于目标值的数,你给出的函数twoSum 需要返回这两个数字的下标(index1,index2),需要满足 index1 小于index2.。注意:下标是从1开始的假设给出的数组中只存在唯一解例如:给出的数组为 {20, 70, 110, 150},目标值为90输出 index1=1, index2=2输入:[3,2,4],6输出:[2,3]思路:暴破:就直接判断数组中有没有元素等于target - numb

2021-05-19 15:41:11 64

原创 算法:最小的k个数(冒泡排序)

题目描述给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。如果K>数组的长度,那么返回一个空的数组输入:[4,5,1,6,2,7,3,8],4输出:[1,2,3,4]解题思路:本来是想用堆排序的,但算了下堆排序复杂度O(nlogn),我用冒泡部分排序复杂度O(4n)(不知道我又没有算错[鬼鬼祟祟]),所以用了冒泡排序代码:class Solution {public: v

2021-05-18 21:44:31 343

原创 算法:寻找数组中心下标

题目描述:给定一个整数数组nums,请编写一个能够返回数组“中心下标”的方法。中心下标:左侧所有元素相加的和等于右侧所有元素相加的和如果数组不存在中心下标,则返回-1;如果数组有多个(两个)中心下标,则返回最靠近左边的中心下标...

2021-05-17 10:09:57 384

原创 算法:(双指针)最长无重复子数组

题目描述:给定一个数组arr,返回arr的最长无重复元素子数组的长度,无重复指的是所有数字都不相同。子数组是连续的,比如[1,2,3,4,5]的子数组有[1,2],[2,3,4]等等,但是[1,3,4]不是子数组思路:因为刚学了双指针,所以想用双指针做,后面以为也许可以用单指针,因为删除和子数组长度都可以用集合set.erase()和set.size()获得,可是用单指针做时,试着用set.erase(st.begin(),st.end());和set.clear();清空前一子数组时,运行都

2021-05-16 21:35:25 230

原创 算法:(双指针算法)删除排序数组中的重复项

题目:一个有序数组nums,原地删除重复出现的元素,使每个元素只出现一次,返回删除后数组的新长度也就是不能使用额外的数组空间输入:[0,1,2,2,3,3,4]输出: 5算法思想:使用两个指针: i = 0; j = 1;当nums[i] == nums[j] 时,i不动,j++当 nums[i] != nums[j] 时,把nums[j] 的值赋值给 nums[i + 1] ,并且i和j都向前移动删除后数组的新长度为 (i +1)代码如下: public static int

2021-05-16 17:02:50 118

原创 算法:统计n以内素数个数--埃筛法

埃式筛选法埃式筛选法主要用于筛选素数思想如果一个数为素数,那么这个素数的倍数一定是合数,从2、3开始,筛掉它们的倍数,那么出2、3外未被筛选掉的数中最小min的那个就是素数(2 * 3 = 6;已被筛掉,所以前面不可能有数可以被min整除了,即可推出min为素数),再筛掉min的所有倍数,以此类推代码如下 // 【埃筛法】 计算n以内素数的个数 public static int eratosthenes(int n){ // 初始化为false,false代表素数

2021-05-16 15:21:43 1048

原创 PTA:求链式表的表长

本题要求实现一个函数,求链式表的表长。函数接口定义:int Length( List L );其中List结构定义如下:typedef struct LNode *PtrToLNode;struct LNode { ElementType Data; PtrToLNode Next;};typedef PtrToLNode List;L是给定单链表,函数Length要返回链式表的长度。裁判测试程序样例:#include <stdio.h>#include

2021-04-23 16:18:53 549

空空如也

空空如也

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

TA关注的人

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