- 博客(26)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 教你如何追求女神
教你如何追求女神内卷计算机学院是我们学校的人口大院上千的人口、6:16:16:1的经典失调的男女比例 仅次于机械工程学院这就使得计院的市场上形成了严重的 内卷效应像我这样的纯情小生自然是在这种水深火热的环境中被毒打多年然而,作为一个老二次元,闲来无事到时候逛逛B站,竟从李永乐老师那找到了一些关于恋爱的科学门路。有趣的现象不知道大家有没有这种经历或是见闻中学找的对象亦或是初恋,大多分的分,散的散。能坚持下去的属实凤毛麟角可是为什么会这样?年轻时的爱情真的这么容易变质吗?经典问题..
2020-10-05 00:04:09
1159
1
原创 红黑树小抄
红黑树小抄写在前面算法分析课 期末考红黑树也是没谁了…不过不幸中的万幸是应该只考插入,我就在这打个小抄,大家就当考前热个身红黑树的性质是一颗BST(不会BST请自行查阅)根节点是黑色,节点要么是红色要么是黑色假设所有叶子结点是nil,则任意子树任意路径到达nil的黑色节点个数相同所有叶子结点都是nil,并且是黑色红节点不与红节点邻接,即如果某个节点是红色,其子节点一定是黑色(nil也是黑色)红黑树的插入前导知识BST的旋转操作BST的插入操作待插入的节点一开始设为红色
2021-01-16 21:00:19
259
原创 【刷题笔记】更骚的并查集
更骚的并查集写在前面打个小广告:最近在学Golang,开了用Go语言实现算法的仓库,有兴趣的同学们可以来贡献哦~网址在这⬇️Project alGo如果你每天有力扣每日一题的习惯,你可能会感叹:1月可真是一个图论月确实如此,而并查集是解决连通分量问题以及具有传递关系问题的特色解法并查集并查集本身有两个优化方案:路径压缩在 Find() 方法中,将子树的节点拉到根节点,如此提高查找效率。按秩合并维护每个节点子树的高度或节点数量,在合并时考察这个值。我们要清楚并查
2021-01-16 16:03:39
243
原创 【刷题笔记】位运算:从人脑到电子脑的演变
【刷题笔记】位运算: 从人脑到电子脑的演变理解位运算对于非计算机科学专业的选手需要一个思考的过程然而对于计算机科学的选手来说,从理解简单的位运算到复杂的复合位运算仍然是一个过程这里就实用主义的角度出发,总结一下做到的题目用到的复合位运算2的幂n&(n-1) 这个操作可以将一个二进制数 nnn 最右边的1归零>>> x=0b100101010100>>> bin(x&(x-1))'0b100101010000'在二进制数中,任何2的幂都
2020-12-23 21:27:02
169
原创 【小品文】利用动态规划的思想解决DAG(有向无环图)的最短路径问题
【小品文】利用动态规划的思想解决DAG(有向无环图)的最短路径问题为了方便起见,本文所有集合表示采用类似 i~j 的形式,以方便阅读Floyd−WarshallFloyd-WarshallFloyd−Warshall Algorithminput: adjacency-matrix Woutput: shortest path matrix for each node D从输入输出可见, floyd−warshallfloyd-warshallfloyd−warshall 相较 dijks
2020-12-02 19:59:47
341
转载 【刷题笔记】leetcode 46.全排列 | 优质解法
学习笔记【刷题笔记】46.全排列|优质解法思路:回溯基本盘:我们每次递归,记录已访问的元素。从剩下的元素中取,取完回溯。状态树是每层决定放入一个元素。新思路今天复习的时候,看到外国老哥相当精妙的理解。就来做一个汉化主要思路有点像插入排序每次的决定从决定放入哪个元素到决定下一个元素放在哪个位置。具体来讲,比如我的输入是[1, 2, 3],先拿一个[1],剩下[2, 3]按照顺序,我们拿[2], 我们尝试将[2]放到[1]之前或之后,出现两种情况[1, 2][2, 1]
2020-11-18 17:16:25
185
原创 【刷题笔记】三种方法通关leetcode33.旋转排序数组
写在前面前段时间虽说一直保持刷题,但是由于课业繁重,经过组织上的反复权衡,决定停更一段时间。现在正好是课业的空窗期,于是又来水博客力。看官们觉得不错可以赏脸点个关注再走哦~我的 github二分查找的使用条件二分查找的 O(logn)O(logn)O(logn) 高效必然有局限性:这里就是前提条件:1. 有序序列2. 存在上下界3. 随机访问特性代码模板left, right = 0, len(array) - 1while left <= right: mid = (l
2020-11-12 19:17:54
139
原创 【娱乐向】教你用汇编语言写一个 Hello World
教你用汇编语言写一个Hello World平台OS: Ubuntu 18.04 STLPlatform: i386Editor:vimGet Started我们知道,高级语言的源码文件都有自己的格式,比如,C的后缀:.c ,java的后缀: .java , C++的后缀:.cpp等等。在汇编语言程序设计时,我们采用 .asm后缀的格式(代表assembly)来编辑源码。vim hello_world.asm编辑源码在i386汇编中,不同的section有不同的作用,它们在被打包成el
2020-11-01 21:46:45
3002
1
原创 【娱乐向】如何统计David Bowie的歌词词频
统计David Bowie的歌词词频写在前面 今天课堂上讲到了哈希表,它是一种具有O(1)O(1)O(1) 搜索时间复杂度(也就是效率不随里面的数据规模增长)的数据结构 。 它存在一个键Key,存在一个值Value,利用哈希算法对键值(Key)做某种运算,使其成为一种下标(index),并像数组一样存储数据 。 于是突发奇想,能否利用哈希表来做计数器 ?爬取歌词这里并没有直接利用爬虫去访问音乐源接口,而是利用了现有的[AP]I(https://lyricsgenius.readth
2020-10-27 23:06:53
376
2
原创 【leetcode刷题记#week02】栈、队列、双端队列
20.有效的括号检测一段字串序列中的有效括号栈方法(C++)创建一个栈结构,若是左括号,则入栈若是右括号,则检测栈顶是否是相应左括号细节:检测输入长度,若是0,直接返回true;若长度为奇数,返回false if(!s.length()) return true; if(s.length%2=1) return false;建立散列表(方便检测) unordered_map<char, char> pairs = {
2020-10-27 09:59:26
223
原创 【全英文警告!】如何比较两个向量的相似度
Jaccard SimilarityBasic ConceptA statistic used for measuring the simularity and diversity sample sets[2]^{[2]}[2]The Jaccard coefficient measures the similarity of between the finite sample sets, and is defined as the intersection divided by the size
2020-10-25 13:28:24
491
原创 【leetcode刷题记#week01】数组,顺序结构,双指针
【leetcode刷题记#week01】数组,顺序结构,双指针写在前面本刷题笔记平台:Leetcode语言: C++【 leetcode# 26】 删除数组的重复项BF解法建立一个新的数组 rs,一个临时变量 temptemp存取前一个元素遍历输入的数组每次存取前一个元素到temp变量每次检查temp与现在的当前的数组元素是否相等相等,跳过不相等,存入rs数组返回rs数组的长度(这里不给出代码,请读者有兴趣自行实现)双指针法定义两个指针 i,j
2020-10-21 13:11:12
136
1
原创 带你直观地感受归并排序的效率
带你直观地感受归并排序的效率写在前面归并排序,即Merge Sort Algorithm,是一种高效,泛用、基于比较的排序算法。归并排序算法是一种由计算机科学奠基人冯·诺依曼(John von Neumann)于1945年所发明的分治算法(Divide And Conquer Algorithm)[3]^{[3]}[3]。本文将延续上一篇:带你直观地感受二分搜素,利用python的图形库matplotlib与科学计算库scipy、numpy等软件包,用可视化的方法,呈现出不同量级数据规模下,归并排.
2020-10-19 23:37:16
333
原创 手把手教你 N皇后 回溯解法(Solving The N Queens Puzzle Using Backtracking)
手把手教你 N皇后 回溯解法(Solving The N Queens Puzzle Using Backtracking)写在前面 本人没有国际象棋经验,仅仅是看了几篇攻略写的本题,正好是每日打卡,就把这个问题拿出来讲一讲。本笔记实现完全是 C++,当然如果你是其他平台,算法的思路是一种常量,只要抓住方法,一样可以实现。问题描述The n-queens puzzle is the problem of placing n queens on an n×n chessboard such t
2020-10-17 23:23:19
314
原创 【刷题】子集和问题的回溯剪枝解法
子集和问题的回溯剪枝解法1. 问题1.1 原文描述 问题参考的是 程振波老师的 《Design and Analysis of Algorithm Using Python》2.5.3节的描述:输入给定整数集,问是否存在该整数集的子集,使得该子集元素的和为 0。比如给定的整数集合为 [-7, -3 ,-2, 5, 8],存在集合的子集 [-3, -2, 5],该子集和为0。1.2 IO示例input: -2 -3 4 50output:110100002. 解法2.1
2020-10-15 12:47:08
951
原创 带你直观地感受二分查找
带你直观地感受二分查找写在前面 二分查找(Binary Search)被认为是极具效率的查找算法,其 O(logn)O(logn)O(logn) 的时间复杂度在大规模数据下具有极高的效率。比如,试想要从70亿人中找到1人,计算次数可以被降到32次。这使得二分查找成为了一个相当具有研究价值的算法。 本文就二分查找进行了少量优化,并利用可视化的软件包对实验结果进行直观展示。 本文的是以学习二分查找算法原理,直观呈现并感受其效率为目的撰写。1. 二分查找1.1 原理二分查找的基本思想,是.
2020-10-13 18:28:42
501
1
原创 【Redis学习笔记】聊聊Redis的高可用性 (High Usability)(上)
【Redis学习笔记】聊聊Redis的高可用性 (High Usability)(上)这个系列是个人学习Redis的一点记录,希望对大家有帮助若有错误,欢迎指正我们为什么需要高可用性?我们知道,Redis作为一个内存数据库,自然在物理层面上就奠定其高性能的基础,也就是常说的QPS(Query Per Second)很高。由于是内存数据库,其高效能的背后也有当机的风险,学过一点计算机组成原理的,或是对计算机硬件稍有了解的朋友,应该都对内存的特性不陌生------断电清空内容。有人抬杠说,我们.
2020-10-11 15:33:47
322
原创 【刷题】Codeup 1928 日期差值
Codeup 1928 日期差值题目描述:输入两个日期,返回相差天数input:2013010120130105output:5思路首先假设第一个日期比第二个日期小,若不是,则互换位置 if(time1 > time2 ){ int temp= time1; time1 =time2; time2 = temp; }处理平闰年建立二维数组,按照[月份][平/闰]的下标存储int month[13.
2020-09-30 10:46:46
138
原创 素数表问题代码反推集合论解释
素数表问题代码反推集合论解释**问题与解法****基本问题:**给定上限,输出素数表一般的思路是:建一个给定上限的全集数组全是1(1不是质数,所以默认删除)给定一个变量icounter(1~(n^(1/2)),遍历icounter,每个数模icounter,若模0则数组赋值0最后不输出0元素(0是合数1是素数)感性认知[http://www.cppblog.com/asp/archive/2006/10/06/13400.aspx](http://www.cppblog.com/asp/archi
2020-09-29 21:27:45
156
原创 Php弱类型_md5碰撞原理
Php弱类型/md5碰撞原理Php为弱类型语言Php中的** == 为弱类型比较**Md5碰撞利用‘0e’开头的字符串Php解释器将e解释为 科学记数法 分隔因此只要两段明文的md5秘文以0e开头且长度相同//例题NCTF2019 easyPHP:<?phperror_reporting(0);highlight_file(__file__);$string_1 = $_GET['str1'];$string_2 = $_GET['str2'];$cmd
2020-09-29 21:25:45
678
原创 HASH长度扩展攻击
HASH长度扩展攻击场景:当用户向服务端取文件时,服务端会进行验证,给出salt值(用于验证,客户端无从得知,并且需要salt值才能够拿到文件),并进行hsh=sha1(salt+filename)的运算。现通过工具拿到hash即hsh值,并得知filename。求salt值。原理:当服务器进行sha1运算前,会判断字符串(slat+filename)的长度,并将整段字符串分割成64bytes一组。之后进行hash生成。首先,当hash函数拿到需要被hash的字符串后,先将其字节长度整除64,取
2020-09-29 21:24:48
1457
原创 【运维】服务端保持进程运行
【运维】服务端保持进程运行问题溯源几个月前租了台阿里云学生机把玩,不求上进的我拿来当作MC私服的服务端。运行服务端程序的时候发现,随着SSH会话的挂起,进程也被杀死,于是想要一个让服务端程序后台持续跑的方法搜到几种指令方法:指令说明1、nohupnohup &此后,如果你断开了ssh,程序依旧运行。如果在运行后需要结束该进程,需要通过kill的方式。2、screen先通过yum install -y screen、apt-get install screen -y
2020-09-29 21:23:03
364
原创 聚簇索引(CLUSTERED)
聚簇索引(CLUSTERED)PS:聚簇索引唯一,唯一索引每个值唯一“聚簇索引(Clustered Index)和非聚簇索引 (Non- Clustered Index)最通俗的解释是:聚簇索引的顺序就是数据的物理存储顺序,而对非聚簇索引的索引顺序与数据物理排列顺序无关。举例来说,你翻到新华字典的汉字“爬”那一页就是P开头的部分,这就是物理存储顺序(聚簇索引);而不用你到目录,找到汉字“爬”所在的页码,然后根据页码找到这个字(非聚簇索引)。”聚簇索引在SQL Sever中可以自定义,指令如下
2020-09-29 21:20:39
3153
原创 【二叉查找树/leetcode#538】图解Morris保姆级教学
Morris: 二叉树遍历的更好方案平台:C++Morris算法是什么一种用于二叉树的遍历算法,可以将传统的栈遍历和递归遍历带来的最差O(n)O(n)O(n)的空间复杂度降低到O(1)O(1)O(1)Morris’s in GeneralMorris算法抛弃了栈结构(Stack)来做DFS(Depth First Search),转而利用指针的连接来存取前驱节点来源题解:Leetcode#538官方题解给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Gre..
2020-09-21 18:37:03
215
转载 【Spring Cloud项目&JCE相关】 记一次mvn docker:build 失败
【Spring Cloud项目&JCE相关】 记一次mvn docker:build 失败最近在学Spring微服务,用的书是Carnell的Spring in Action小插曲在构建代码时,示例代码用的是jdk8,而我的是jdk13在jdk13中(自从jdk11)去除了javax.activation库于是报了找不到DataSource类的错,更换jdk8解决关于JCE执行mvn clean package docker:build后,出现问题在dockerFile的脚.
2020-09-20 23:03:28
1494
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人