
算法
文章平均质量分 79
对象被抛出
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Python纯Numpy手撕SGD
纯Numpy实现minibatch SGD线性回归原创 2023-02-19 00:51:59 · 923 阅读 · 0 评论 -
斐波那契的几种思路,你都会吗
茴字的四种写法,你都会么?原创 2022-12-30 13:50:23 · 1313 阅读 · 1 评论 -
leetcode 17 电话号码的字母组合
leetcode 17 电话号码的字母组合题干示例示例1示例2思路题干给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例示例1输入:digits = “23”输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]示例2输入:digits = “”输出:[]思路dfs没跑了#include<map>原创 2022-02-20 22:57:02 · 181 阅读 · 0 评论 -
三维空间点集的最小外接矩形
文章目录引言说明二维空间内的方案方案选定新坐标轴变换矩阵GGG后续引言前段时间毕设卡在求一系列点的最小外接矩形, 卡了好久在导师的帮助下终于解决了. 来分享下思路说明本篇所有的坐标系都是建立在右手坐标系下的情况. 虽然为了符合常识认知, 我会把这个坐标系做一个旋转, 但本质上它还是一个右手坐标系. 所谓的右手坐标系就是Z=X×Y,Y=Z×X,X=Y×ZZ = X \times Y, Y = Z \times X, X = Y \times ZZ=X×Y,Y=Z×X,X=Y×Z, 其中X,Y,ZX,原创 2021-08-26 09:52:09 · 1957 阅读 · 0 评论 -
K-means Python实现
K-means Python实现import numpy as npimport randomimport matplotlib.pyplot as plt"""1 从n个向量对象任意选择k个向量作为初始聚类中心2 根据在步骤(1)中设置的k个向量(中心对象向量),计算每个对象与这k个中心对象各自的距离3 对于步骤(2)中的计算,任何一个向量与这个k个向量都有一个距离,有的远有的近,把这个向量与距离它最近的中心向量对象归在一个类簇中4 重新计算每个类簇的中心向量位置5 重复(3)(4),原创 2021-08-18 12:29:36 · 159 阅读 · 0 评论 -
概率分布模型整理
简介最近数学课上到概率与统计的部分…由于以前的数理统计忘得差不多了…整理一下稀碎的片段吧…仅供学习参考全概率公式对于一个概率分布模型XXX, 其所有取值的概率之和恒为1, 这个条件称为全概率公式.连续分布和离散分布的公式分别为:∫−∞+∞f(x)dx=1∑i=1np(xi)=1\large \int_{-\infty}^{+\infty}f(x)dx = 1 \\\large \sum_{i=1}^{n} p(x_i) = 1∫−∞+∞f(x)dx=1i=1∑np(xi)=1期望E(原创 2021-06-02 18:40:06 · 590 阅读 · 0 评论 -
三维空间 点线面解析
文章目录简介基元类型及表示本篇思想和原则关系求解向量的夹角向量平行或垂直直线平面直线共面距离点点距离点线距离点面距离线线距离线面距离面面距离两个平面求交线三个平面求交点两条直线求交点平面面积平面方程简介之前写了3篇室内场景重建的博客, 只是简单介绍了一下方法, 并没有对点线面的具体计算做讨论.这篇补个坑, 用作交流学习之用.相关的3篇博客:室内场景重建一 粗略平面拟合室内场景重建二 立方体拟合室内场景重建三 点面分割基元类型及表示本篇将重点讨论, 三维空间内, 如下三个基元(Primi原创 2021-05-16 16:06:00 · 2848 阅读 · 0 评论 -
室内场景重建三 点面分割
文章目录简介实现思路分割噪点理论思路编程实现分割室内点理论思路编程实现结果简介上篇博客室内场景重建二 立方体拟合中, 介绍了如何在粗略平面估计的基础上, 做精细化的处理, 最终得到了室内场景的6个非常精细的平面估计, 以及这个场景的一些测绘数据.本篇将在上篇的结果的基础上, 将原始的panasonic_0.1_n.ply中的点分成三类:室外的点, 即噪点在室内, 且在平面上的点, 即在6个墙面上的点在室内, 但不在平面上的点, 即室内人和物的点.实现思路分割噪点理论思路已知由6个平面原创 2021-05-10 14:53:40 · 704 阅读 · 0 评论 -
室内场景重建二 立方体拟合
文章目录简介理论准备向量点平面精细化思路编程实现求立方体粗略表面三个平面求交点表面的方程测绘简介上篇博客粗略平面拟合中, 主要介绍了如何从原始的点云, 得到一个粗略的平面估计.那么这篇将接着上篇的内容, 在上篇的基础上, 对这个粗略的估计做精细化的处理.下图中, 左边为粗略估计, 也就是本篇的输入, 右边为本篇的输出理论准备由于本篇涉及大量的线性代数, 现在这里做一些思路上的介绍, 主要是本项目大量涉及的向量, 点, 平面三个类.借助numpy这个库, 我们可以对矩阵做非常快速而又方便的操作原创 2021-05-09 23:06:16 · 574 阅读 · 3 评论 -
室内场景重建一 粗略平面拟合
文章目录简介项目环境篇幅安排粗略平面拟合下载项目修改源码完成编译运行不知不觉又鸽了几个月…正好手头的工作做的差不多了, 写篇博客水水…简介本文将从室内点云panasonic_0.1_n.ply(下载链接在这)出发, 先来看一下这个点云的大概样子, 如下:图片上可能看不清楚, 这个模型在室内是有办公桌椅子和人物的.本文的工作目标是:将室内场景的上下左右前后(也就是地板天花板和四面墙), 通过算法拟合成规整的平面, 因为目前是用点来表示的通过拟合后的6个平面, 计算出立方体的8个顶点, 将这个原创 2021-05-09 00:06:16 · 671 阅读 · 3 评论 -
leetcode 剑指offer13 机器人运动范围
文章目录题干描述数据规模示例思路各数位之和dfs深搜遍历图完整代码提交结果题干描述地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够到达多少个格子?数据规模1原创 2021-03-09 18:55:42 · 392 阅读 · 0 评论 -
leetcode64 最短路径 动态规划
题目链接题目链接题干给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例 1:输入:grid = [[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径 1→3→1→1→1 的总和最小。数据规模m == grid.lengthn == grid[i].length1 <= m, n <= 2000 <= grid[i][j] &l原创 2020-12-10 19:39:50 · 327 阅读 · 1 评论 -
leetcode63不同路径二
文章目录题目链接题干数据规模题解思路-动态规划代码实现题目链接题目链接题干一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。数据规模m == obstacleGrid.lengthn == obstacleGrid[i].原创 2020-12-09 22:45:56 · 224 阅读 · 1 评论 -
leetcode62不同路径 动态规划和递归解法
文章目录题目题干数据规模题解思路1-动态规划思路2-递归代码实现题目题干题目链接一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?数据规模1 <= m, n <= 100题目数据保证答案小于等于 2 * 109题解思路1-动态规划设map[i][j]表示下标为(i,j)的坐标的路径数, 那么为了到原创 2020-12-09 22:18:26 · 836 阅读 · 2 评论 -
线代矩阵工具
文章目录简述下载链接功能和相应命令注意点functions and its commandsnotices简述写这小程序的初衷是为了方便当时写线代作业…(果然偷懒是第一生产力…)然后也没有太多复杂的功能, 不能对变量进行运算, 只能对常数矩阵做运算… 搞得我现在算那个λ\Large \lambdaλ矩阵的时候又只能手算…现在打算在给这东西做一个更新, 使之能够支持对变量做运算…下载链接下载链接https://download.youkuaiyun.com/download/weixin_43848827/13原创 2020-11-24 10:28:20 · 520 阅读 · 0 评论 -
线性回归
文章目录监督学习线性回归基础模型定义模型训练训练数据损失函数优化模型从零开始实现定义超参数创建训练集批量读取数据定义模型定义损失函数定义优化算法训练模型运行结果完整代码简洁实现定义超参数和训练集读取数据定义模型定义损失函数定义优化算法编译并训练模型完整代码监督学习机器学习分为监督学习(supervied learning)和无监督学习(unsupervised learning), 前者需要人为给定样本的分类标签作为先验, 后者完全根据算法的结果自动进行分类.而监督学习又可以分为分类(classifi转载 2020-11-23 17:08:46 · 780 阅读 · 1 评论 -
算法笔记 模版之大数字
文章目录简介说明目前的功能原理实现成员方法和成员变量构造函数无参构造有参构造返回一些成员变量输出重载返回字符串五种基本比较小于运算 <大于运算 >等于运算 ==大于等于 >=小于等于 <=四种基本运算大数+大数(必须同号)大数-大数(符号任意)大数*大数(符号任意)大数%大数(必须都为正数)四种基本运算和赋值运算的结合完整代码简介好久没更新算法这个专栏了…水一篇…相信...原创 2020-04-05 00:27:19 · 681 阅读 · 0 评论 -
算法笔记四 排队买票
算法笔记四 排队买票题干思路解法一解法二(转载自https://blog.dotcpp.com/a/64305)解法三 递归题干描述有M个小孩到公园玩,门票是1元。其中N个小孩带的钱为1元硬币,K个小孩带的钱为2元纸币,而售票员没有零钱。问这些小孩共有多少种排队方法,使得售票员总能找得开零钱。注意:两个小孩,他们的位置互换,也算是一种新的排法。输入输入一行,M,N,K(其中M=N+K...原创 2020-02-12 15:52:44 · 2270 阅读 · 0 评论 -
算法笔记三 求序列中出现次数大于序列长度一半的元素
算法笔记三 求序列中出现次数大于序列长度一半的元素题干给定一个序列vector A, 返回序列中出现次数大于序列长度一半的元素, 若不存在该元素则返回0解题思路方法1将A排序不影响最终的结果, 故首先应该想到, 经过快排之后, 如果A存在该元素, 中间位置的元素(A[len/2])必定是所求元素, 故问题转换为是否存在该元素. 我们任取元素tmp = A[i], 如果A[i]满足条件...原创 2020-02-12 14:39:41 · 308 阅读 · 5 评论 -
算法笔记二 求逆链表
算法笔记二 求逆链表题干分析非递归方法递归法题干求给定单链表的逆链表给定一个不带头结点的单链表, 返回该单链表的逆链表的头指针, 不得复制链表节点的数据. 单链表结构体定义如下struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }分析首先...原创 2020-01-19 16:14:46 · 367 阅读 · 0 评论 -
算法笔记一 求序列的最大连续和
算法笔记一 求连续和最大的子序列题干分析暴力法分治法完整代码运行结果题干求求连续和最大的子序列给定一个长度为n的序列A1,A2,...,AnA_{1},A_{2}, ..., A_{n}A1,A2,...,An, 求连续子序列Ai,Ai+1,...,Aj−1,AjA_{i},A_{i+1}, ..., A_{j-1}, A_{j}Ai,Ai+1,...,Aj−1,Aj, 使得...原创 2020-01-12 23:38:08 · 410 阅读 · 0 评论