- 博客(46)
- 收藏
- 关注
原创 LeetCode腾讯50题-Day17-344/557
LeetCode50题(17天)-Day17344 反转字符串题号:344难度:简单https://leetcode-cn.com/problems/reverse-string/编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地 修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。示例 1:输入:["h","e","l","l",
2021-01-28 14:04:42 239
原创 LeetCode腾讯50题-Day16-237/238/292
LeetCode50题(17天)-Day16237 删除链表中的节点题号:237难度:简单https://leetcode-cn.com/problems/delete-node-in-a-linked-list/请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 – head = [4,5,1,9],它可以表示为:示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中
2021-01-28 13:56:48 257
原创 LeetCode腾讯50题-Day15-231/235/236
LeetCode50题(17天)-Day15231 2的幂题号:231难度:简单https://leetcode-cn.com/problems/power-of-two/给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例 1:输入: 1输出: true解释: 2^0 = 1示例 2:输入: 16输出: true解释: 2^4 = 16示例 3:输入: 218输出: false实现第一种:利用位运算的方法思路: 利用"异或"操作的性质。A:
2021-01-27 17:08:23 233
原创 LeetCode腾讯50题-Day14-215/217/230
LeetCode50题(17天)-Day14215 数组中的第K大个元素题号:215难度:中等https://leetcode-cn.com/problems/kth-largest-element-in-an-array/在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k
2021-01-25 17:23:39 223
原创 LeetCode腾讯50题-Day13-160/169/206
LeetCode50题(17天)-Day13160 相交链表题号:160难度:简单https://leetcode-cn.com/problems/intersection-of-two-linked-lists/编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3
2021-01-24 15:50:07 269 2
原创 异常检测(五)--- 高维数据的异常检测
五、高维数据的异常检测1、引言在实际场景中,很多数据集都是多维度的。随着维度的增加,数据空间的大小(体积)会以指数级别增长,使数据变得稀疏,这便是维度诅咒的难题。维度诅咒不止给异常检测带来了挑战,对距离的计算,聚类都带来了难题。例如基于邻近度的方法是在所有维度使用距离函数来定义局部性,但是,在高维空间中,所有点对的距离几乎都是相等的(距离集中),这使得一些基于距离的方法失效。在高维场景下,一个常用的方法是子空间方法。集成是子空间思想中常用的方法之一,可以有效提高数据挖掘算法精度。集成方法将多个算法或
2021-01-23 13:58:09 1246 1
原创 LeetCode腾讯50题-Day12-146/148/155
LeetCode50题(17天)-Day12146 LRU缓存机制题号:146难度:中等https://leetcode-cn.com/problems/lru-cache/运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, value) - 如果密钥不存在,则
2021-01-23 13:42:16 191
原创 LeetCode腾讯50题-Day11-136/141/142
LeetCode50题(17天)-Day11136 只出现一次的数字题号:136难度:简单https://leetcode-cn.com/problems/single-number/给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4实现第一种:通过集合
2021-01-22 20:08:52 287
原创 异常检测(四)--- 基于相似度的方法
四、基于相似度的方法1、概述“异常”通常是一个主观的判断,什么样的数据被认为是“异常”的,需要结合业务背景和环境来具体分析确定。实际上,数据通常嵌入在大量的噪声中,而我们所说的“异常值”通常指具有特定业务意义的那一类特殊的异常值。噪声可以视作特性较弱的异常值,没有被分析的价值。噪声和异常之间、正常数据和噪声之间的边界都是模糊的。异常值通常具有更高的离群程度分数值,同时也更具有可解释性。在普通的数据处理中,我们常常需要保留正常数据,而对噪声和异常值的特性则基本忽略。但在异常检测中,我们弱化了“噪声”和
2021-01-21 16:14:48 678
原创 LeetCode腾讯50题-Day10-121/122/124
LeetCode50题(17天)-Day10121 买卖股票的最佳时机题号:121难度:简单https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2
2021-01-21 15:36:31 231
原创 LeetCode腾讯50题-Day9-88/89/104
LeetCode50题(17天)-Day888 合并两个有序数组题号:88难度:简单https://leetcode-cn.com/problems/merge-sorted-array/给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。
2021-01-20 16:28:57 215
原创 LeetCode腾讯50题-Day8-62/70/78
LeetCode50题(17天)-Day862 不同路径题号:62难度:中等https://leetcode-cn.com/problems/unique-paths/一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?说明:m 和 n 的值均不超过 100。示例 1
2021-01-19 14:59:35 203
原创 异常检测(三)---线性模型
三、线性模型1、引言真实数据集中不同维度的数据通常具有高度的相关性,这是因为不同的属性往往是由相同的基础过程以密切相关的方式产生的。在古典统计学中,这被称为——回归建模,一种参数化的相关性分析。一类相关性分析试图通过其他变量预测单独的属性值,另一类方法用一些潜在变量来代表整个数据。前者的代表是 线性回归,后者一个典型的例子是 主成分分析。本文将会用这两种典型的线性相关分析方法进行异常检测。需要明确的是,这里有两个重要的假设:假设一:近似线性相关假设。线性相关假设是使用两种模型进行异常检测的重要理论
2021-01-18 15:23:18 354
原创 LeetCode腾讯50题-Day7-62/70/78
LeetCode50题(17天)-Day654 螺旋矩阵题号:54难度:中等https://leetcode-cn.com/problems/spiral-matrix/给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例 1:输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例 2:输入:[ [1, 2, 3, 4],
2021-01-18 12:40:43 193
原创 LeetCode腾讯50题-Day6-43/46/53
LeetCode50题(17天)-Day643 字符串相乘题号:43难度:中等https://leetcode-cn.com/problems/multiply-strings/给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例 2:输入: num1 = "123", num2 = "456"输出: "56088"示
2021-01-17 20:01:26 245
原创 异常检测(二)---基于统计学的方法
二、基于统计学的方法1、概述统计学方法对数据的正常性做出假定。它们假定正常的数据对象由一个统计模型产生,而不遵守该模型的数据是异常点。统计学方法的有效性高度依赖于对给定数据所做的统计模型假定是否成立。异常检测的统计学方法的一般思想是:学习一个拟合给定数据集的生成模型,然后识别该模型低概率区域中的对象,把它们作为异常点。即利用统计学方法建立一个模型,然后考虑对象有多大可能符合该模型。根据如何指定和学习模型,异常检测的统计学方法可以划分为两个主要类型:参数方法和非参数方法。参数方法 假定正常的数据
2021-01-15 21:34:08 814
原创 LeetCode50题-Day5-23/26/33
LeetCode50题(17天)-Day423 合并 k 个排序链表题号:23难度:困难https://leetcode-cn.com/problems/merge-k-sorted-lists/合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4->5->6实现第一种:
2021-01-15 21:10:18 219 2
原创 LeetCode50题-Day4-16/20/21
LeetCode50题(17天)-Day416 最接近的三数之和题号:16难度:中等https://leetcode-cn.com/problems/3sum-closest/给定一个包括n个整数的数组nums和一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。示例 :例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 +
2021-01-14 14:25:38 162
原创 LeetCode50题-Day3-11/14/15
LeetCode50题(17天)-Day37盛最多水的容器题号:11难度:中等https://leetcode-cn.com/problems/container-with-most-water/给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直
2021-01-13 13:49:06 112
原创 异常检测介绍
一、异常检测介绍1、什么是异常检测异常检测(Outlier Detection),顾名思义,是识别与正常数据不同的数据,与预期行为差异大的数据。识别如信用卡欺诈,工业生产异常,网络流里的异常(网络侵入)等问题,针对的是少数的事件。1.1 异常的类别**点异常:**指的是少数个体实例是异常的,大多数个体实例是正常的,例如正常人与病人的健康指标;**上下文异常:**又称上下文异常,指的是在特定情境下个体实例是异常的,在其他情境下都是正常的,例如在特定时间下的温度突然上升或下降,在特定场景中的快速信用
2021-01-12 13:43:40 403
原创 LeetCode50题-Day2-7/8/9
LeetCode50题(17天)-Day27整数反转题号:7难度:简单https://leetcode-cn.com/problems/reverse-integer/给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1: c 输入: 123 输出: 321示例 2: c 输入: -123 输出: -321示例 3: c 输入: 120 输出: 21 示例 4: c 输入: 1534236469 输出: 0 示例 5: c 输入: -2147483648 输出:
2021-01-12 13:19:44 111
原创 LeetCode-Day1
LeetCode50题(17天)-Day12 两数之和题号:002难度:中等https://leetcode-cn.com/problems/add-two-numbers/给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1: c 输入:(2 -> 4 -> 3) +
2021-01-11 20:42:35 155
原创 HOG特征描述算子-行人检测---CV基础
计算机视觉基础-图像处理(下)-Task04 HOG特征描述算子-行人检测4.1 简介本次任务将学习一种在深度学习之前非常流行的图像特征提取技术——方向梯度直方图(Histogram of Oriented Gradients),简称HOG特征。HOG特征是在2005年CVPR的会议发表,在图像手工特征提取方面具有里程碑式的意义,当时在行人检测领域获得了极大成功。学习HOG特征的思想也有助于我们很好地了解传统图像特征描述和图像识别方法,本次任务我们将学习到HOG背后的设计原理,和opencv的实现。
2020-07-06 21:09:28 339
原创 Haar特征描述算子-人脸检测---CV基础
计算机视觉基础-图像处理(下)-Task03 Haar特征描述算子-人脸检测3.1简介Haar-like特征最早是由Papageorgiou等应用于人脸表示,在2001年,Viola和Jones两位大牛发表了经典的《Rapid Object Detection using a Boosted Cascade of Simple Features》和《Robust Real-Time Face Detection》,在AdaBoost算法的基础上,使用Haar-like小波特征和积分图方法进行人脸检测,他
2020-07-02 19:18:17 275
原创 LBP特征描述算子---CV基础
计算机视觉基础:图像处理(下)-Task02 LBP特征描述算子-人脸检测2.1 简介LBP指局部二值模式(Local Binary Pattern),是一种用来描述图像局部特征的算子,具有灰度不变性和旋转不变性等显著优点。LBP常应用于人脸识别和目标检测中,在OpenCV中有使用LBP特征进行人脸识别的接口,也有用LBP特征训练目标检测分类器的方法,OpenCV实现了LBP特征的计算,但没有提供一个单独的计算LBP特征的接口。也就是说OpenCV中使用了LBP算法,但是没有提供函数接口。2.2 学习
2020-06-28 16:23:26 222
原创 Harris角点检测---CV基础
计算机视觉基础-图像处理(上)-Task01 Harris角点检测1.1 简介在图像处理领域中,特征点又被称为兴趣点或者角点,它通常具有旋转不变性和光照不变性和视角不变性等优点,是图像的重要特征之一,常被应用到目标匹配、目标跟踪、三维重建等应用中。点特征主要指图像中的明显点,如突出的角点、边缘端点、极值点等等,用于点特征提取的算子称为兴趣点提取(检测)算子,常用的有Harris角点检测、FAST特征检测、SIFT特征检测及SURF特征检测。本次任务学习较为常用而且较为基础的Harris角点检测算法,它
2020-06-24 15:36:56 215
原创 windows系统下python快速注释多行
除了对每一行前面添加#的注释方式外(如若要注释多行,这种方式较慢),我们还可以考虑另外两种注释方式:1、Ctrl + / (先选中要注释的代码,再按Ctrl + /)2、用’’’ ‘’'或者""" “”"将要注释的代码置于多个单/双引号之间即可。...
2020-05-10 14:17:48 840
原创 LeetCode刷题1---第一个错误的版本
278、第一个错误的版本给定 n = 5,并且 version = 4 是第一个错误的版本。调用 isBadVersion(3) -> false调用 isBadVersion(5) -> true调用 isBadVersion(4) -> true所以,4 是第一个错误的版本。# The isBadVersion API is already defined for...
2020-05-07 19:52:44 294
原创 Task06 OpenCV框架与边缘检测
计算机视觉基础-图像处理(上)- Task06 边缘检测6.1 简介6.1.1 什么是边缘?边缘是图像强度函数快速变化的地方6.1.2 如何检测边缘?为了检测边缘,我们需要检测图像中的不连续性,可以使用导数来检测不连续性。如上图所示,上图的第一幅图表示一张数字图片,我们对水平红线处进行求导,便可得到上图二中的关系,可以看到在边缘处有着较大的跳变。但是,导数也会受到噪声的影响,因此建议在...
2020-04-22 14:09:03 189
原创 Task05 OpenCV框架与图像分割/二值化
计算机视觉基础-图像处理(上)-Task05 图像分割/二值化5.1 简介该部分的学习内容是对经典的阈值分割算法进行回顾,图像阈值化分割是一种传统的最常用的图像分割方法,因其实现简单、计算量小、性能较稳定而成为图像分割中最基本和应用最广泛的分割技术。它特别适用于目标和背景占据不同灰度级范围的图像。它不仅可以极大的压缩数据量,而且也大大简化了分析和处理步骤,因此在很多情况下,是进行图像分析、特征...
2020-04-22 13:42:13 230
原创 Task04 OpenCV框架与图像滤波
计算机视觉基础-图像处理(上)-Task04 图像滤波4.1 简介图像的实质是一种二维信号,滤波是信号处理中的一个重要概念。在图像处理中,滤波是一种非常常见的技术,它们的原理非常简单,但是其思想却十分值得借鉴,滤波是很多图像算法的前置步骤或基础,掌握图像滤波对理解卷积神经网络也有一定帮助。4.2 学习目标了解图像滤波的分类和基本概念理解均值滤波/方框滤波、高斯滤波的原理掌握OpenCV...
2020-04-21 13:30:41 156
原创 Task03 OpenCV框架与彩色空间互转
计算机视觉基础-图像处理(上)-Task03 彩色空间互转3.1 简介图像彩色空间互转在图像处理中应用非常广泛,而且很多算法只对灰度图有效;另外,相比RGB,其他颜色空间(比如HSV、HSI)更具可分离性和可操作性,所以很多图像算法需要将图像从RGB转为其他颜色空间,所以图像彩色互转是十分重要和关键的。3.2 学习目标了解相关颜色空间的基础知识理解彩色空间互转的理论掌握OpenCV框架...
2020-04-21 10:55:41 166
原创 Task02 OpenCV框架与几何变换
计算机视觉基础-图像处理(上)-Task02 几何变换2.1 简介该部分将对基本的几何变换进行学习,几何变换的原理大多都是相似,只是变换矩阵不同,因此,我们以最常用的平移和旋转为例进行学习。在深度学习领域,我们常用平移、旋转、镜像等操作进行数据增广;在传统CV领域,由于某些拍摄角度的问题,我们需要对图像进行矫正处理,而几何变换正是这个处理过程的基础,因此了解和学习几何变换也是有必要的。这次我...
2020-04-21 10:39:47 201
原创 Task01 OpenCV框架与图像插值算法
计算机视觉基础-图像处理(上)-Task01 OpenCV框架与图像插值算法1.1 简介在图像处理中,平移变换、旋转变换以及放缩变换是一些基础且常用的操作。这些几何变换并不改变图象的象素值,只是在图象平面上进行象素的重新排列。在一幅输入图象[u,v][u,v][u,v]中,灰度值仅在整数位置上有定义。然而,输出图象[x,y]的灰度值一般由处在非整数坐标上的(u,v)(u,v)(u,v)值来决定...
2020-04-19 19:06:41 209
原创 垃圾短信检测---逻辑回归
垃圾短信检测代码:# _*_ coding: tf-8 _*_# 垃圾短信检测# 1、导入需要的包import pandas as pdfrom sklearn import linear_modelfrom sklearn.feature_extraction.text import TfidfVectorizer# 2、读取数据集# 第一列是短信的label,\t键后面是...
2020-04-17 15:33:32 582
原创 MySQL 基础4
MySQL 基础 3项目十六 分数排名 (难度:中等)项目十七:查询回答率最高的问题 (难度:中等)项目十八:各部门前3高工资的员工(难度:中等)项目十九:平面上最近距离项目二十:行程和用户(难度:困难)首先放张图,以便于自己日后查看复习,该图来自如下链接:https://blog.csdn.net/y3329223/article/details/88084323项目十六 分数排名 ...
2019-08-14 17:38:46 319
原创 MySQL 基础 3
MySQL 基础 3项目十: 各部门工资最高的员工(难度:中等)项目十一: 换座位(难度:中等)项目十二: 分数排名(难度:中等)项目十三:连续出现的数字(难度:中等)项目十四:树节点 (难度:中等)项目十五:至少有五名直接下属的经理 (难度:中等)项目十: 各部门工资最高的员工(难度:中等)创建Employee 表,包含所有员工信息,每个员工有其对应的 Id, salary 和 depar...
2019-08-13 21:42:22 96
原创 机器学习---决策树算法梳理
决策树算法梳理任务3 - 决策树算法梳理1、信息论基础(熵 联合熵 条件熵 信息增益 基尼不纯度)2.决策树的不同分类算法(ID3算法、C4.5、CART分类树)的原理及应用场景3、回归树原理4、决策树防止过拟合手段5、模型评估6、sklearn参数详解,Python绘制决策树任务3 - 决策树算法梳理1、信息论基础(熵 联合熵 条件熵 信息增益 基尼不纯度)(1)熵: 表示随机变量不确定性...
2019-08-11 09:47:04 500
原创 学习笔记4---(统计学-可汗学院)
可汗学院-统计学-学习笔记4线性回归卡方分布与方差分析线性回归卡方分布与方差分析卡方分布求解步骤:1、确定要进行检验的假设及其备择假设;2、求出期望频数和自由度;3、确定用于做决策的拒绝域;4、计算检验统计量—卡方;5、查看检验统计量是否位于拒绝域内;6、作出决策。并且,卡方分布检验时总使用右侧检验。...
2019-08-10 16:12:24 189
原创 机器学习---逻辑回归算法梳理
线性回归算法梳理任务2 - 逻辑回归算法梳理1、逻辑回归与线性回归的联系与区别2、 逻辑回归的原理3、逻辑回归损失函数推导及优化4、 正则化与模型评估指标5、逻辑回归的优缺点6、样本不均衡问题解决办法7. sklearn参数任务2 - 逻辑回归算法梳理1、逻辑回归与线性回归的联系与区别联系:逻辑回归属于对数线性模型,本质上是个线性模型。区别:逻辑回归得到一个离散的结果,但线性回归得到一个...
2019-08-09 10:28:32 376
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人