算法
文章平均质量分 92
记录平时AC的一些算法
biptcszy
这个作者很懒,什么都没留下…
展开
-
leetcode62. Unique Paths(C++从暴力递归到动态规划)
这道题也是老生常谈,非常经典的一道题目了,围绕着此题能学到各种各样的算法思想。本文主要梳理从暴力递归到动态规划、再到数学炫技的求解过程演变。题目如下:一个机器人位于m,nm, nm,n网格左上角,它每次只能向右或者向下移动一格,问它到达图中右下角有多少种不同的路径?暴力递归首先很容易想到的就是递归写法,枚举并统计所有可以到达右下角的路径。画一下递归树,如下图所示,算法复杂度为O(2mn)O(2^{mn})O(2mn),空间复杂度为O(mn),因为创建了二维数组。代码如下int ans;原创 2021-11-21 19:42:27 · 730 阅读 · 0 评论 -
Quantum-Lazy-Learning(量子懒惰学习)详解
Quantum-Lazy-LearningBackgroundContentSupplymentReferenceBackground近些年来,量子机器学习算法不断地涌现出来,这些算法大部分以张量网络作为桥梁,可以来处理计算机视觉、模式识别以及自然语言处理等领域的问题[1-8]。其中一大类算法是采用量子态空间来表示样本的概率分布,从而完成生成或分类的任务[6]。 Quantum Lazy Learing就是其中一种,不过它并不是一种受欢迎的量子机器学习分类算法,它在论文中常以各种各样的形式出现并被摒弃,原创 2021-07-12 13:47:59 · 501 阅读 · 2 评论 -
leetcode148. Sort List神剖析
Sort ListGiven the head of a linked list, return the list after sorting it in ascending order.Follow up: Can you sort the linked list in O(n logn) time and O(1) memory (i.e. constant space)?这里给出了三个测试用例初一看这个题可能觉得没什么,也就是个单链表排序问题,于是我就傻乎乎的写出了这样的解法(C..原创 2020-11-03 22:16:19 · 259 阅读 · 0 评论 -
leetcode994. Rotting Oranges
In a given grid, each cell can have one of three values:the value 0 representing an empty cell;the value 1 representing a fresh orange;the value 2 representing a rotten orange.Every minute, any f...原创 2020-04-03 11:03:45 · 205 阅读 · 0 评论 -
python3浮点数排序
python2有很多浮点数排序的方式,可是python3的sort函数中没有cmp参数了十分不方便,下面列出几种python3适合的浮点数排序方法原文地址Python | Ways to sort list of float values方法一:lambda表达式# 浮点数排序# 列表初始化Input = [12.8, .178, 1.8, 782.7, 99.8, 8.7] ...转载 2020-03-13 23:34:52 · 4819 阅读 · 0 评论 -
C++全排列
最近通过学习算法, 了解了全排列实现的几种方式,在此记录总结一下。方式一:DFS深度优先搜索该算法的实现可以当成模板来套用,当然本菜鸡习惯的写法不一定适合你,不过个人觉得还是比较好理解的,你可以多看看,总结总结,嘿嘿。#include<iostream>#include<stdio.h>using namespace std;const int eleNum...原创 2019-03-03 17:35:55 · 2131 阅读 · 0 评论 -
蓝桥2013-8翻硬币
题目标题:翻硬币小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。比如,可能情形是:**oo***oooo如果同时翻转左边的两个硬币,则变为:oooo***oooo现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局le面,最少要翻动多少次呢?我们约定:把翻动相邻...原创 2019-03-03 14:12:31 · 182 阅读 · 2 评论 -
蓝桥2013-9带分数
标题:带分数100 可以表示为带分数的形式:100 = 3 + 69258 / 714还可以表示为:100 = 82 + 3546 / 197注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。类似这样的带分数,100 有 11 种表示法。题目要求:从标准输入读入一个正整数N (N<1000*1000)程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数...原创 2019-03-03 20:23:28 · 186 阅读 · 0 评论 -
九度-1138-进制转换(char数组的使用)
题目描述:将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。输入:多组数据,每行为一个长度不超过30位的十进制非负整数。(注意是10进制数字的个数可能有30个,而非30bits的整数)输出:每行输出对应的二进制数。样例输入:0138样例输出:01111000**来源:**h2008年北京大学软件所计算机研究生机试真题//大数进制转换#includ...原创 2020-02-03 23:08:41 · 279 阅读 · 0 评论