自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode-5253-找到指定长度的回文数

5253. 找到指定长度的回文数题目给你一个整数数组 queries 和一个 正 整数 intLength ,请你返回一个数组 answer ,其中 answer[i] 是长度为 intLength 的 正回文数 中第 queries[i] 小的数字,如果不存在这样的回文数,则为 -1 。回文数 指的是从前往后和从后往前读一模一样的数字。回文数不能有前导 0 。示例 1:输入:queries = [1,2,3,4,5,90], intLength = 3输出:[101,111,121,

2022-03-28 22:24:30 390

原创 Note-二分法

二分法在网上搜,能看见比较详细的二分法的介绍,但是笔者还是想去梳理一下,因为想要真正理解二分法的代码和二分法的原理是不一样的。首先,看一个比较常用的二分法算法。 public int binarySearch(int nums[],int target){ Arrays.sort(nums); int left=0,right=nums.length-1; while(left<=right){ int mid=(lef

2022-02-28 09:56:17 121

原创 LeetCode-1706-球会落何处

1706. 球会落何处题目用一个大小为 m x n 的二维网格 grid 表示一个箱子。你有 n 颗球。箱子的顶部和底部都是开着的。箱子中的每个单元格都有一个对角线挡板,跨过单元格的两个角,可以将球导向左侧或者右侧。将球导向右侧的挡板跨过左上角和右下角,在网格中用 1 表示。将球导向左侧的挡板跨过右上角和左下角,在网格中用 -1 表示。在箱子每一列的顶端各放一颗球。每颗球都可能卡在箱子里或从底部掉出来。如果球恰好卡在两块挡板之间的 “V” 形图案,或者被一块挡导向到箱子的任意一侧边上,就会卡

2022-02-24 10:43:33 136

原创 Tips-Java-优先队列

优先队列优先队列是一个非常有用的数据结构。它可以实现自动排序的功能,我们设置该队列排序方式从而实现升序或者降序排列。其原理也比较简单,其本质是二叉树,但是通过数组进行实现。降序pqMax = new PriorityQueue<int[]>((a, b) -> b[0] - a[0]);升序pqMin = new PriorityQueue<int[]>((a, b) -> a[0] - b[0]);记如何升序如何降序可和二维数组排序一起记,都是一

2022-01-23 19:57:01 527

原创 Note-卡尔曼滤波-二

卡尔曼滤波(Kalman Filter)2误差协方差矩阵KaTeX parse error: Expected 'EOF', got '&' at position 32: …_{k-1}+w_{k-1} &̲ w服从P(0,Q)\\ …求Pk−P_k^-Pk−​的先验Pk−=E[ek−ek−T]ek−=xk−x‾k−Pk−=APk−1AT+QP_k^-=E[e_k^-e_k^{-T}]\\e_k^-=x_k-\overline x^-_k\\P_k^-=AP_{k-1

2022-01-20 15:04:20 87

原创 Note-卡尔曼滤波(一)

卡尔曼滤波(Kalman Filter)Optimal Recursive(递归) Data Processing Algorithmxk‾=x‾k−1+kk(zk−x‾k−1)\overline{x_k}=\overline{x}_{k-1}+k_k(z_k-\overline{x}_{k-1})xk​​=xk−1​+kk​(zk​−xk−1​)当前的估计值=上一次的估计值+系数(当前测量值-上一次估计值)kk:kalman Qain卡尔曼增益eEST:估计误差eMEA:测量误差

2022-01-17 16:03:34 138

原创 LeetCode-390-消除游戏

390. 消除游戏题目列表 arr 由在范围 [1, n] 中的所有整数组成,并按严格递增排序。请你对 arr 应用下述算法:从左到右,删除第一个数字,然后每隔一个数字删除一个,直到到达列表末尾。重复上面的步骤,但这次是从右到左。也就是,删除最右侧的数字,然后剩下的数字每隔一个删除一个。不断重复这两步,从左到右和从右到左交替进行,直到只剩下一个数字。给你整数 n ,返回 arr 最后剩下的数字。示例 1:输入:n = 9输出:6解释:arr = [1, 2, 3, 4, 5,

2022-01-02 14:26:30 105

原创 LeetCode-1610-可见点的最大数目

1610. 可见点的最大数目题目给你一个点数组 points 和一个表示角度的整数 angle ,你的位置是 location ,其中 location = [posx, posy] 且 points[i] = [xi, yi] 都表示 X-Y 平面上的整数坐标。最开始,你面向东方进行观测。你 不能 进行移动改变位置,但可以通过 自转 调整观测角度。换句话说,posx 和 posy 不能改变。你的视野范围的角度用 angle 表示, 这决定了你观测任意方向时可以多宽。设 d 为你逆时针自转旋转的度

2021-12-16 12:10:44 109

原创 Java二维数组排序

二维数组排序在一些应用场景中,我们要求对一个二维数组按照第一行或者第一列进行排列。Java也为我们提供了方便的实现方法。//以每行为单位,按照每一行第一个元素为单位,进行升序列排列Arrays.sort(arr,(a,b)->a[0]-b[0]);//以每行为单位,按照每一行第一个元素为单位,进行降序列排列Arrays.sort(arr,(a,b)->b[0]-a[0]);//以每行为单位,按照每一行第二个元素为单位,进行升序列排列Arrays.sort(arr,(a,b)-&g

2021-12-14 17:05:54 2879

原创 LeetCode-677-键值映射

title: LeetCode-677-键值映射date: 2021-11-14 21:00:44tags: [LeetCode,LeetCode-中等,LeetCode-多看,LeetCode-字典树]categories: LeetCodemathjax: true677. 键值映射题目实现一个 MapSum 类,支持两个方法,insert 和 sum:MapSum() 初始化 MapSum 对象void insert(String key, int val) 插入 key-va.

2021-11-14 21:20:22 292

原创 算法-dijstra

title: 算法-dijstradate: 2021-10-30 16:20:53tags: [Dijstra]categories: Dijstramathjax: trueDijstra算法简介Dijstra算法常用于求图的节点之间的最短路径。在数据结构的图的部分中是非常常见的也是非常基础的算法,应用场景也非常广泛,常用于计算机网络中,求路由节点间的最短距离和路径。本文对Dijstra算法进行详细介绍,并用Java实现了算法,进行了验证。图的储存给你一个图,你会如何存储节点.

2021-10-30 17:32:15 644

原创 LeetCode-430-扁平化多级双向链表

430. 扁平化多级双向链表题目多级双向链表中,除了指向下一个节点和前一个节点指针之外,它还有一个子链表指针,可能指向单独的双向链表。这些子列表也可能会有一个或多个自己的子项,依此类推,生成多级数据结构,如下面的示例所示。给你位于列表第一级的头节点,请你扁平化列表,使所有结点出现在单级双链表中。示例 1:输入:head = [1,2,3,4,5,6,null,null,null,7,8,9,10,null,null,11,12]输出:[1,2,3,7,8,11,12,9,10,4,5,

2021-09-24 12:20:52 102

原创 LeetCode-64-最小路径和

64. 最小路径和题目给定一个包含非负整数的 *m* x *n* 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。**说明:**每次只能向下或者向右移动一步。示例 1:输入:grid = [[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径 1→3→1→1→1 的总和最小。示例 2:输入:grid = [[1,2,3],[4,5,6]]输出:12难度:中等分类:多做题解这题是典型的动态规划题,那么就是

2021-09-21 12:11:25 90

原创 LeetCode-212-单词搜索2

212. 单词搜索 II题目给定一个 m x n 二维字符网格 board 和一个单词(字符串)列表 words,找出所有同时在二维网格和字典中出现的单词。单词必须按照字母顺序,通过 相邻的单元格 内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母在一个单词中不允许被重复使用。示例 1:输入:board = [[“o”,“a”,“a”,“n”],[“e”,“t”,“a”,“e”],[“i”,“h”,“k”,“r”],[“i”,“f”,“l”,“v”]]

2021-09-18 13:05:42 147

原创 LeetCode-36-有效的数独

36. 有效的数独题目请你判断一个 9x9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图)数独部分空格内已填入了数字,空白格用 ‘.’ 表示。注意:一个有效的数独(部分已被填充)不一定是可解的。只需要根据以上规则,验证已经填入的数字是否有效即可。示例 1:输入:board =[[“5”,“3”,".

2021-09-17 10:21:53 82

原创 LeetCode-528-按权重随机选择

528. 按权重随机选择题目给定一个正整数数组 w ,其中 w[i] 代表下标 i 的权重(下标从 0 开始),请写一个函数 pickIndex ,它可以随机地获取下标 i,选取下标 i 的概率与 w[i] 成正比。例如,对于 w = [1, 3],挑选下标 0 的概率为 1 / (1 + 3) = 0.25 (即,25%),而选取下标 1 的概率为 3 / (1 + 3) = 0.75(即,75%)。也就是说,选取下标 i 的概率为 w[i] / sum(w) 。示例 1:输入:[

2021-09-11 11:10:48 133

原创 机器学习笔记(一)

1.常见的基本概念​ **以下概念用自己通俗易懂的方式概括,与标准术语之间存在差异,请谨慎引用!**概念尽量记住英文单词,因为在阅读文献中,一般是英文文献,所以笔者也在中文概念后面标注了英文翻译。常见概念在后续也会不断补充。监督学习(Supervised Learning)​ 在实验中存在着标记了(marked)的训练集(train set),验证集(validation set ) 和测试集(test set),训练集用于训练模型,而测试集验证训练结果的正确性。标记的意思是指,我们知道该数据

2021-09-10 10:08:06 71

原创 LeetCode-1894-找到需要补充粉笔的学生编号

1894. 找到需要补充粉笔的学生编号题目一个班级里有 n 个学生,编号为 0 到 n - 1 。每个学生会依次回答问题,编号为 0 的学生先回答,然后是编号为 1 的学生,以此类推,直到编号为 n - 1 的学生,然后老师会重复这个过程,重新从编号为 0 的学生开始回答问题。给你一个长度为 n 且下标从 0 开始的整数数组 chalk 和一个整数 k 。一开始粉笔盒里总共有 k 支粉笔。当编号为 i 的学生回答问题时,他会消耗 chalk[i] 支粉笔。如果剩余粉笔数量 严格小于 chalk[i

2021-09-10 08:40:25 77

原创 LeetCode-68-文本左右对齐

68. 文本左右对齐题目给定一个单词数组和一个长度 maxWidth,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。你应该使用“贪心算法”来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格 ’ ’ 填充,使得每行恰好有 maxWidth 个字符。要求尽可能均匀分配单词间的空格数量。如果某一行单词间的空格不能均匀分配,则左侧放置的空格数要多于右侧的空格数。文本的最后一行应为左对齐,且单词之间不插入额外的空格。说明:单词是指由非空格字符

2021-09-09 12:19:17 155

原创 LeetCode-502-IPO

502. IPO题目假设 力扣(LeetCode)即将开始 IPO 。为了以更高的价格将股票卖给风险投资公司,力扣 希望在 IPO 之前开展一些项目以增加其资本。 由于资源有限,它只能在 IPO 之前完成最多 k 个不同的项目。帮助 力扣 设计完成最多 k 个不同项目后得到最大总资本的方式。给你 n 个项目。对于每个项目 i ,它都有一个纯利润 profits[i] ,和启动该项目需要的最小资本 capital[i] 。最初,你的资本为 w 。当你完成一个项目时,你将获得纯利润,且利润将被添加到你

2021-09-08 19:58:10 98

原创 LeetCode-787-K-站中转内最便宜的航班

787. K 站中转内最便宜的航班题目有 n 个城市通过一些航班连接。给你一个数组 flights ,其中 flights[i] = [fromi, toi, pricei] ,表示该航班都从城市 fromi 开始,以价格 pricei 抵达 toi。现在给定所有的城市和航班,以及出发城市 src 和目的地 dst,你的任务是找到出一条最多经过 k 站中转的路线,使得从 src 到 dst 的 价格最便宜 ,并返回该价格。 如果不存在这样的路线,则输出 -1。示例 1:输入:n = 3

2021-09-07 12:54:21 130

原创 LeetCode-789-逃脱阻碍者

789. 逃脱阻碍者题目你在进行一个简化版的吃豆人游戏。你从 [0, 0] 点开始出发,你的目的地是 target = [xtarget, ytarget] 。地图上有一些阻碍者,以数组 ghosts 给出,第 i 个阻碍者从 ghosts[i] = [xi, yi] 出发。所有输入均为 整数坐标 。每一回合,你和阻碍者们可以同时向东,西,南,北四个方向移动,每次可以移动到距离原位置 1 个单位 的新位置。当然,也可以选择 不动 。所有动作 同时 发生。如果你可以在任何阻碍者抓住你 之前 到达目

2021-09-07 11:08:48 120

原创 LeetCode-704-二分查找

704. 二分查找题目给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例 2:输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -

2021-09-06 16:55:15 45

原创 LeetCode-470-用Rand7实现Rand10

470. 用 Rand7() 实现 Rand10()题目已有方法 rand7 可生成 1 到 7 范围内的均匀随机整数,试写一个方法 rand10 生成 1 到 10 范围内的均匀随机整数。不要使用系统的 Math.random() 方法。示例 1:题目给的示例有些问题,因为给的函数是没有输入的,所以调用函数后直接生成均匀1到10的均匀随机整数即可。难度:中等分类:多看题解题解中给出的最多的方法也是比较简单能够想到的方法就是这个方法:题目要求尽量少调用rand7()

2021-09-05 14:49:29 73

原创 LeetCode-剑指offer10-1-斐波那契数列

剑指 Offer 10- I. 斐波那契数列题目写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n

2021-09-04 10:30:19 86

原创 LeetCode-面试题17-14-最小K个数

面试题 17.14. 最小K个数题目设计一个算法,找出数组中最小的k个数。以任意顺序返回这k个数均可。示例 1:输入: arr = [1,3,5,7,2,4,6,8], k = 4输出: [1,2,3,4]难度:中等分类:多看题解首先看到题,我的第一思路就是暴力破解,先数组排列,然后取前k个值返回。代码如下:class Solution { public int[] smallestK(int[] arr, int k) { Arrays.sor

2021-09-03 11:56:04 118

原创 LeetCode-295-数据流的中位数

295. 数据流的中位数题目中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中间两个数的平均值。例如,[2,3,4] 的中位数是 3[2,3] 的中位数是 (2 + 3) / 2 = 2.5设计一个支持以下两种操作的数据结构:void addNum(int num) - 从数据流中添加一个整数到数据结构中。double findMedian() - 返回目前所有元素的中位数。示例 1:addNum(1)addNum(2)findMedian() -> 1.5

2021-09-03 11:53:08 54

原创 LeetCode-剑指Offer22-链表中倒数第k个节点

title: LeetCode-剑指Offer22-链表中倒数第k个节点date: 2021-09-02 10:32:24tags: [LeetCode,LeetCode-简单,LeetCode-了解,LeetCode-指针]categories: LeetCodemathjax: true剑指Offer22-链表中倒数第k个节点题目输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有 6 个节点,从头节点.

2021-09-02 10:47:56 71

原创 LeetCode-165-比较版本号

165.比较版本号题目​ 给你两个版本号 version1 和 version2 ,请你比较它们。版本号由一个或多个修订号组成,各修订号由一个 ‘.’ 连接。每个修订号由 多位数字 组成,可能包含 前导零 。每个版本号至少包含一个字符。修订号从左到右编号,下标从 0 开始,最左边的修订号下标为 0 ,下一个修订号下标为 1 ,以此类推。例如,2.5.33 和 0.1 都是有效的版本号。比较版本号时,请按从左到右的顺序依次比较它们的修订号。比较修订号时,只需比较 忽略任何前导零后的整数值 。也就

2021-09-01 19:27:27 112

原创 LeetCode-1109-航班预订统计

1109.航班预定统计题目​ 这里有 n 个航班,它们分别从 1 到 n 进行编号。有一份航班预订表 bookings ,表中第 i 条预订记录 bookings[i] = [firsti, lasti, seatsi] 意味着在从 firsti 到 lasti (包含 firsti 和 lasti )的 每个航班 上预订了 seatsi 个座位。请你返回一个长度为 n 的数组 answer,其中 answer[i] 是航班 i 上预订的座位总数。示例 1:输入:bookings = [

2021-09-01 19:25:53 110

原创 基于matlab特征脸Eigenface算法的实现

基于matlab特征脸Eigenface算法的实现1.特征脸算法简介2.PCA2.1 什么是PCA2.2 PCA实现步骤(附matlab代码)2.2.1 前期准备2.2.2 具体步骤1.特征脸算法简介特征脸算法是将人脸从像素空间变换到另外一个空间,在另外一个空间做相似性的计算。特征量不能再像素空间直接进行相似性计算在于原像素空间中不同类别的图像在分布上很难用个简单的线或者面把他们切分开,然后如果变换到另一个空间,就可以很好的把他们分开了。这里我们用到的PAC(Principal Component An

2021-02-27 16:30:33 1987 6

空空如也

空空如也

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

TA关注的人

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