自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode 1 ~ 100

文章目录1. 两数之和(用哈希表减少查找的时间复杂度)2. 两数相加(高精度加法)3.无重复字符的最长子串:(模板:经典的滑动窗口算法)5. 最长回文子串(枚举)6. Z 自形变换(找规律)7.整数反转8. 字符串转换整数(atoi)9. 回文数11.盛水最多的容器(贪心(基于双指针来实现))12. 整数转罗马数字13. 罗马数字转整数14. 最长公共前缀15. 三数之和(双指针 + 去重)16. 最接近的三数之和(双指针算法)17. 电话号码的字母组合(标准 DFS)18. 四数之和(双指针算法)19.

2024-05-07 09:56:54 809 1

原创 动态规划问题记录

(2)状态计算:集合的划分(不重不漏)(不一定要满足“不重”,但必须要满足“不漏”)个物品选 0 个,1 个,2 个,…弄清楚该状态表示的是集合的哪一种属性:最大值 or 最小值 or 数量。以上是完全背包问题的朴素做法,其时间复杂度在最坏情况下达到了。分别是物品的个数和背包的容量)。对朴素问题的优化可以从。动态规划问题的一般解决思路:(从集合的角度来理解 DP)状态计算(集合的划分):按第。个物品选多少个进行划分:第。DP:(1)状态表示。

2024-04-24 10:13:28 301

原创 质数的两种筛法

由于该算法保证每个合数只会被它的最小质因子筛掉,而每个合数的最小质因子是唯一的,因此每个数只会被筛一次,故算法的时间复杂度为。再依次将下一个质数5、再下一个质数7、11的所有倍数筛掉,最终,没有被筛过的数即为 1~n 中所有的质数。轮(见下方质数定理),每一轮的循环长度依次是 n/2、n/3、n/5、n/7…从 2 开始,用每一个质数去筛掉它的倍数。但以上时间复杂度并非真实的时间复杂度,它只是一个粗略估计,真实的时间复杂度为。(2)质数定理:1 ~ n 中有。

2024-02-14 15:23:06 1100

原创 详解 Kruskal 算法的实现

step 2:将所有的边(假设图中共有 m 条)按权重从小到大进行排序(因为 Kruskal 算法是按照边的权重从小到大进行遍历的,排序的目的是为了保证在向当前的生成树中加入边时,加入的始终都是权重最小的边(其实也有点类似于贪心),这样当所有的边遍历完后,最终生成树中的所有边之和必然是全局最小的)。step 1:Kruskal 算法假定初始时每个点都只属于自己所在的并查集(即初始时每个点都只属于一个独立的集合,各集合之间没有任何交集)。条边),则说明图中不存在最小生成树;条,则说明图中存在最小生成树)。

2024-02-01 23:35:44 559

原创 详解 Prim 算法的实现

我们要找的是我们要返回的是最小生成树的树边权重之和(以下简记为“最小生成树的长度”),而这个长度是由一条条边加起来得到的。因此,只需要在每次新加入一条边的时候,把新加入的边的长度累加到最终的结果中去即可(这个长度即为新加入的点到集合的最短距离,即为。Prim 算法是用来求最小生成树的,它的思想也有点类似于贪心——逐个将离当前集合最近的点加入到集合中,直至发现图不连通或所有点都被加到集合中,算法即宣告终止。如果可以,当如何实现呢?答案是我们可以在加入每个点之前先做一个判断:如果新加入的点到集合的最短距离是。

2024-02-01 21:25:53 873

原创 《程序设计基础》学习笔记

(1)由古希腊Eratosthenes发明,故筛法又称为埃拉托斯特尼筛法。(1)函数是一个具有特定的功能的、相对独立的模块,能够被多次使用;(但是不推荐这样写)。

2024-01-10 21:53:16 435

原创 《数据结构》学习笔记

1.算法分析的两个主要任务:正确性(不变性 + 单调性) + 复杂度。5.算法正确性的证明:(以起泡排序为例)(1)算术级数:与末项平方同阶。(2)幂方级数:比幂次高出一阶。(3)几何级数:与末项同阶。(2)前置知识:数列。

2024-01-10 21:51:16 1008

原创 算法学习记录

【代码】算法学习记录。

2023-12-30 19:44:17 377

原创 跳转表Skiplist学习记录

9.1.3 接口定义。

2023-12-05 20:39:00 106

原创 动态规划专题

leetcode 354. 俄罗斯套娃信封问题。leetcode 300. 最长递增子序列。方法二:patience sorting。

2023-04-04 22:05:18 488

原创 windows上配置vscode C++运行环境

在Windows上配置vscode的C++运行环境:

2023-03-31 22:58:58 351

原创 leetcode刷题记录

leetcode 236. 二叉树的最近公共祖先。leetcode 560. 和为 K 的子数组。leetcode 111. 二叉树的最小深度。leetcode 3. 无重复字符的最长子串。leetcode 1143. 最长公共子序列。leetcode 17. 电话号码的字母组合。leetcode 300. 最长递增子序列。leetcode 875. 爱吃香蕉的珂珂。leetcode 322. 零钱兑换。leetcode 179. 最大数。leetcode 46. 全排列。leetcode 78. 子集。

2023-03-30 10:13:36 315

原创 leetcode easy题目及解法汇总

【代码】leetcode easy题目及解法汇总。

2023-03-29 21:21:39 274

原创 C++学习记录

C++学习入门

2022-12-30 16:27:46 59

原创 算法新知(2022)

知乎:[如何看待 2022 年秋招算法岗人间地狱?](如何看待 2022 年秋招算法岗人间地狱? - 郑华滨的回答 - 知乎https://www.zhihu.com/question/453325429/answer/2046740050)

2022-06-26 21:34:20 60

原创 各章知识点整理

文章目录必修第一册必修第二册第七章 复数7.1 复数的概念7.1.1 数系的扩充和复数的概念7.1.2 复数的几何意义7.2 复数的四则运算7.3 复数的三角表示必修第一册必修第二册第七章 复数7.1 复数的概念7.1.1 数系的扩充和复数的概念1.把形如 a+bi(a,b∈R)a+b\mathrm{i} (a, b \in \mathbf R)a+bi(a,b∈R) 的数叫做复数,通常用字母 zzz 来表示,即 z=a+bi(a,b∈R)z=a+b \mathrm{i}(a, b

2022-03-13 21:52:55 558

原创 二分搜索的三种形态

二分搜索的三种形态:寻找最中间那个数(若最中间的数有奇数个,则寻找最中间那个;若为偶数个,则寻找中间线靠左的那个);寻找左侧边界;寻找右侧边界。代码如下:class BinarySearch(object): # 寻找最中间那个数 def vanillaBS(self, nums, target): lo, hi = 0, len(nums)-1 while lo <= hi: mid = lo + (hi - lo) /

2021-05-20 22:27:07 74

原创 LeetCode 300. 最长递增子序列 解题报告

文章目录1. 题目描述2. 解题过程2.1 基本解题过程2.2 代码优化2.2.1 最终在 return 的时候,能不能用 `dp[-1]` 代替 `max(dp)`?3. 最终能通过的代码3.1 自己实现的代码1. 题目描述见 https://leetcode-cn.com/problems/longest-increasing-subsequence/2. 解题过程2.1 基本解题过程这道题显然要用动态规划来做。那么如何定义 dp 数组的含义呢?题目要求的是最长严格递增子序列的长度,所以我

2021-05-20 11:57:13 109

原创 np.ceil(),np.floor(),np.round()

【例】In [1]: import numpy as npIn [2]: a = np.array([-2.4, -1.7, -0.4, 0.2, 1.5, 2.6])In [3]: np.ceil(a)Out[3]: array([-2., -1., -0., 1., 2., 3.])In [4]: np.floor(a)Out[4]: array([-3., -2., -1., 0., 1., 2.])In [5]: np.round(a)Out[5]: array(

2021-02-17 15:43:07 239

原创 torch.stack()

例 1:import torcha = torch.Tensor([0, 1, 2])b = torch.Tensor([20, 21, 22])print(f'a = {a}\nb = {b}')y1 = torch.stack([a, b], dim=0)y2 = torch.stack([a, b], dim=1)y3 = torch.stack([a, b], dim=-1)print(f'y1 = {y1}\ny2 = {y2}\ny3 = {y3}')结果为:a =

2021-02-14 21:33:22 303

原创 torch.arange() 与 torch.range()

参见:https://blog.csdn.net/m0_37586991/article/details/88830026

2021-02-14 20:04:17 2369

原创 PyTorch 中的 repeat() 函数

假设 x = tensor([0, 4, 8]) ,y = tensor([0, 4, 8, 12]) ,则:1. tensor.repeat(a0) :xx = x.repeat(len(y))的结果是:xx = tensor([0, 4, 8, 0, 4, 8, 0, 4, 8, 0, 4, 8])定义向右是 “行的方向”,向下是 “列的方向”,则 tensor.repeat(a0) 可以看做是在行的方向上将原 tensor 复制了 a0 次,并且复制是在原 tensor 内部复制的(即复

2021-02-14 19:58:36 2404 3

原创 Faster R-CNN 学习笔记

Abstract在 Faster R-CNN 刚提出的那个时候,主流的目标检测框架都依赖于 region proposal 算法来预先假定目标所在的位置。当时的两大有代表性的目标检测框架 —— SPPnet 和 Fast R-CNN,已经能够大大缩短整个目标检测框架的运行时间。然而,计算 region proposal 所消耗的时间代价始终没有得到解决,而且成为了影响整个目标检测框架速度的瓶颈。Faster R-CNN 要解决的就是这样一个问题:它引入了 Region Proposal Network (

2021-02-12 10:45:53 310 1

原创 Group_002

文章目录4. Median of Two Sorted Arrays4. Median of Two Sorted Arrays平凡解法:先将 nums1 和 nums2 归并成一个数组 merged_arr ,然后再对归并后的数组求中位数。代码如下:class Solution(object): def findMedianSortedArrays(self, nums1, nums2): """ :type nums1: List[int]

2021-01-18 11:59:38 88 2

原创 group_001

文章目录1. Two Sum3. Longest Substring Without Repeating Characters1. Two Sum这道题最直观的解法就是暴力遍历,从 nums 的第一个元素开始试,对每一个元素,都在后面剩余的元素中进行查找,看能不能找到和它相加等于 target 的元素。如果能找到,那就说明数组中存在两个元素相加等于 target ;如果遍历完所有的元素之后都不能找到,那就说明数组中不存在这样的两个元素。class Solution(object): def t

2021-01-13 13:09:23 107

原创 YOLO series

I. YOLOv1paper:You Only Look Once: Unified, Real-Time Object Detectiontutorial:知乎. YOLO详解知乎. YOLO系列:YOLOv1, YOLOv2, YOLOv3, YOLOv4, YOLOv5简介II. YOLOv2paper:YOLO9000: Better, Faster, Strongertutorial:知乎. YOLO系列:YOLOv1, YOLOv2, YOLOv3, YOLOv

2020-12-26 16:50:25 119

原创 Technical English (Y2020-P1)

声明:文章内容选自 CVPR 2019:Libra R-CNN: Towards Balanced Learning for Object Detection.所有内容仅供学习交流使用,不做任何推广。文章目录Abstract1. IntroductionAbstract这篇文章讲述的是目标检测中的 imbalance 问题,这一问题存在于目标检测的多个环节中。作者在摘要中这样写道:Abstract-Sentence 1:Compared with model architectures,

2020-12-14 10:08:57 167

原创 VFNet 解读

VarifocalNet: An IoU-aware Dense Object Detector发表于 arXiv 2020.这篇文章关注的是对 candidate detection bboxes 的 ranking 问题。以往的 ranking 依据是 classification score 或 classification score 和 IoU-based localization score 的结合。这篇文章提出了一个新的 ranking 依据:IoU-aware classificati

2020-12-08 12:42:25 1813 1

原创 Where to start?

References:[1] Open-MMLab: MMDetectionCode: https://github.com/open-mmlab/mmdetectionTutorial: https://mmdetection.readthedocs.io/en/latest/index.html[2] Open-MMLab: MMCVCode: https://github.com/open-mmlab/mmcvTutorial: https://mmcv.readthedocs.io

2020-11-19 14:46:38 151

原创 YOLO:from v1 to v5

References:[1] YOLO算法最全综述:从YOLOv1到YOLOv5. https://mp.weixin.qq.com/s?__biz=MzIyNjM2MzQyNg==&mid=2247536467&idx=1&sn=f95f099f796651ad983c0ee732f4fb90&chksm=e8739e1edf04170837ea90847de41378834a2c6124a273290cceb38511948ce78356e7931156&mps

2020-11-19 14:26:17 204

原创 基础知识精粹

深度学习基础知识精粹深度学习中的损失函数:回归损失:L1, L2, smoothL1, wing loss, etc.分类损失:交叉熵(二元交叉熵,多元交叉熵),softmax, etc目标检测基础知识精粹

2020-10-27 10:22:50 103

原创 2020-8-1

NOTE: the following options are all based on Ubuntu 16.04Installation of Sogou Input:https://www.cnblogs.com/darklights/p/7722861.htmlhttps://blog.csdn.net/tan197/article/details/86530925Installation of NVIDIA drivers:https://blog.csdn.net/yinwan

2020-08-01 07:57:51 245

原创 Win10 + cmake3.18.0 + VS2019 编译 Eigen

参考教程:https://blog.csdn.net/qq_40613549/article/details/106927834?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-1最终确实在 eigen-3.3.7\build\install 目录下生成了 include 文件夹和 share 文件夹。

2020-07-12 12:01:13 1159

原创 Win10 + VS2019 编译安装 SuiteSparse

文章目录一、环境准备二、编译一、环境准备首先下载安装包:百度云:https://pan.baidu.com/s/1NWCMRpUjy0wugV3JctCV9A,提取码:c2fn解压后,在 suitesparse-metis-for-windows 目录下新建 build 文件夹。二、编译cmake 版本:3.18.0VS 版本:2019打开 suitesparse-metis-for-windows\SuiteSparse\metis-5.1.0 目录下的 CMakeLists.txt

2020-07-12 11:44:55 2218 2

原创 Visual Studio 2019 在安装和使用过程中遇到的问题小结

文章目录一、安装二、配置环境一、安装VS2019 安装教程:https://blog.csdn.net/qq_43058685/article/details/96837923利用 vs2019 进行 cmake 开发:配置 cmake 开发环境:https://hanshuliang.blog.csdn.net/article/details/98175395创建、导入 cmake 项目:https://blog.csdn.net/shulianghan/article/details/102

2020-06-23 18:11:11 1679

原创 解决 Ubuntu 系统上 typora 字母靠的太近的问题

方法:(以使用 Github 主题为例)修改 github.css 的内容如下::root { --side-bar-bg-color: #fafafa; --control-text-color: #777;}@include-when-export url(https://fonts.loli.net/css?family=Open+Sans:400italic,700italic,700,400&subset=latin,latin-ext);@font-face

2020-06-14 21:32:05 157

原创 环境配置总结

https://zhuanlan.zhihu.com/p/82626693

2020-06-12 23:59:52 246

原创 C++刷剑指offer

一、数组1. 数组中重复的数字class Solution {public: // Parameters: // numbers: an array of integers // length: the length of array numbers // duplication: (Output) the duplicated number in the array number // Return

2020-05-15 12:12:37 153

原创 KinectFusion基本流程

文章目录第一部分:前置知识1.1 双边滤波 (Bilateral Filter)1.1.1 什么是滤波?为什么要对图像进行滤波?1.1.2 什么是双边滤波?1.2 ICP (Iterative Closest Point, 迭代最近点)第一部分:前置知识1.1 双边滤波 (Bilateral Filter)1.1.1 什么是滤波?为什么要对图像进行滤波?详细讲解:CSDN. opencv 4 – 图像平滑与滤波–理论解释核心知识摘录:首先,图像是有频率的。图像的频率表现在图像灰度的变化率

2020-05-10 20:38:41 321

原创 人脸关键点检测论文总结

文章目录第一部分:人脸关键点检测历年论文汇总1.1 2014 年1.1.1 ECCV 2014: TCDCN —— Facial Landmark Detection by Deep Multi-task Learning第一部分:人脸关键点检测历年论文汇总1.1 2014 年1.1.1 ECCV 2014: TCDCN —— Facial Landmark Detection by Deep Multi-task Learning作者:香港中文大学汤晓鸥团队出发点:人脸关键点的检测会受到其他任务

2020-05-09 13:50:13 1799 1

空空如也

空空如也

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

TA关注的人

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