- 博客(133)
- 收藏
- 关注
原创 一段C++代码的一生(C++代码编译过程详解)
从文本到可执行文件Hallo World从代码到执行 编译过程详解写在前面:正如每个入门C++的同学都离不开编写 Hallo World一样,然而书写代码只是第一步(诞生),而后代码是如何“成长”到机器可以运行的文件?这个也是整个C++程序一生中重要的阶段,也是每个C++程序中的基础问题。C++代码是如何编译到最后可以执行的? 本文就以“hallo world”为例,讲述一下C++如何从文本到可执行文件的整个详细过程,让我们一起打开编译器的“小黑盒”,用最简明的办法来解释 C++..
2021-11-02 23:22:01 1430
原创 从B站 (哔哩哔哩) 泄露的源码里发现了B站视频推荐的秘密
这两天闲来无事,回顾了一下年前B站沸沸扬扬的代码泄露事件,大致翻阅了一些泄露的代码发现了一些有意思的事情,其中就包括B站视频推荐算法的相关代码。不过后期 B站官方辟谣说是老版本代码,并且已经进行相应的防御措施,但是后端大体的架构还是不会变化太多,所以就仁者见仁智者见智了,仅供吃瓜参考。 首先回顾一下B站源码泄露事件始末 北京时间4月22日下午16点左右,一个名叫“ope...
2020-02-23 17:53:32 25371 28
原创 Facebook前身 哈佛大学“选美“网站核心算法 -- ELO等级分制度(附源码)
目录前言ELO等级分制度代码实现前言近段重温了经典电影《社交网络》,在电影中 ,Facebook创始人马克·扎克伯格在和女友分手后,受到好友爱德华多对核心算法的指引写下了哈佛女生“选美”网站Facemash,并一气之下黑了学校教务系统,将所有女生的照片放在Facemash上供人评比,网站大获成功,在上线两小时(周末凌晨两点到四点)内点击量达到了2万2千次,挤爆了哈佛的网...
2020-02-21 09:17:46 5857 5
原创 一道微软面试题引出的 int与unsigned隐式转换问题
写在前面:近段遇到这样一个题,据说是微软面试题:unsigned int a = 0; int b = -10;问a > b 是否正确,说说为什么第一反应:肯定 0 > -10。不过转念一想,微软面试不会出题这么脑残吧,去IDE上运行了一下,结果确实不是这样的,发现 b - a 的结果是:4294967286。很诡异的一个数字,想不明白为什么会是这么个奇怪的数字。但...
2020-02-21 09:16:11 3938 12
原创 《软件工程与实践》第三版 软工导论知识梳理总结
写在前面:又是一年期末季。这次带来的是软件工程的课程知识梳理,希望能让读者有所收获(●'◡'●)参考书目: 清华大学出版社《软件工程与实践》第三版 贾铁军,李学相,王学军主编 同类梳理: 《数据库系统概论》第五版(王珊版)全书知识梳理 《计算机组成原理》第五版(唐朔飞考研版) 全书知识梳理 《数据结构》C语...
2019-12-30 15:59:59 9965 11
原创 【刷题笔记8】LeetCode 48. 旋转图像(数组模拟)
系列索引:【刷题笔记0】系列目录索引(持续更新 & 推荐收藏)本题题目:LeetCode 48. 旋转图像分类: 数组,模拟,思维难度:中等
2022-09-06 00:14:04 523 1
原创 【刷题笔记7】LeetCode 54. 螺旋矩阵(数组模拟)
系列索引:【刷题笔记0】系列目录索引(持续更新 & 推荐收藏)本题题目:LeetCode 54. 螺旋矩阵分类:数组, 模拟难度:中等
2022-09-04 01:01:36 680
原创 【刷题笔记5】LeetCode 206. 反转链表 (链表必刷题)
系列索引:【刷题笔记0】系列目录索引(持续更新 & 推荐收藏)本题题目:LeetCode 206. 反转链表分类: 链表, 遍历, 思维难度:简单老规矩,先上AC图:题目:206. 反转链表(点击直达原网站)示例 1:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]示例 2:输入:head = [1,2]输出:[2,1]示例 3:输入:head = []输出:[]提示:...
2021-11-16 01:02:11 1103 1
原创 【刷题笔记3】LeetCode 83. 删除排序链表中的重复元素 (链表入门基础)
系列索引:【刷题笔记0】系列目录索引(持续更新 & 推荐收藏)本题题目:LeetCode 83. 删除排序链表中的重复元素分类: 链表, 遍历难度:简单老规矩,先上AC图:题目:83. 删除排序链表中的重复元素(点击直达原网站)示例 1:输入:head = [1,1,2]输出:[1,2]示例 2:输入:head = [1,1,2,3,3]输出:[1,2,3]提示:链表中节点数目在范围[0, 30...
2021-11-14 22:45:18 728
原创 【刷题笔记4】LeetCode 82. 删除排序链表中的重复元素 II (链表处理经典题目)
系列索引:【刷题笔记0】系列目录索引(持续更新 & 推荐收藏)本题题目:LeetCode 82. 删除排序链表中的重复元素 II分类: 链表难度:中等老规矩,先上AC图:题目:169. 多数元素82. 删除排序链表中的重复元素 II169. 多数元素(点击直达原网站)示例 1:输入:head = [1,2,3,3,4,4,5]输出:[1,2,5]示例 2:输入:head = [1,1,1,2,3]输出:[...
2021-11-09 00:35:16 441
原创 【刷题笔记2】LeetCode 840. 矩阵中的幻方
系列索引:【刷题笔记0】系列目录索引(持续更新 & 推荐收藏)本题题目:Leetcode 840. 矩阵中的幻方分类: 数组,数学,思维,模拟难度:老规矩,先上AC图:题目:169. 多数元素840. 矩阵中的幻方169. 多数元素(点击直达原网站)示例:输入: [[4,3,8,4], [9,5,1,9], [2,7,6,2]]输出: 1解释: 下面的子矩阵是一个 3 x 3 的幻方:43895...
2021-11-05 21:33:59 479
原创 【刷题笔记0】系列目录索引(持续更新 & 推荐收藏)
前言:自从大三渐渐退了acm之后就没有再系统的进行算法训练了,甚至本科毕业后就基本没做过算法题。最近深感自己这方面退步巨大,算法思维一停下来就不敏感了。所以希望以这个系列为契机,一方面通过从基础开始,把自己的算法思维再培养起来,好好锻炼一下基本功,另外也记录一下自己的刷题过程,希望能对其他同学的学习也有所帮助。虽然题目每日一题可能有点困难,但求上则居中希望给自己点压力,能坚持下来,尽可能的多刷题,早日找回状态。冲冲冲!本文作为整个系列的目录索引,方便整理查阅,会持续更新,如果对你有帮助,收藏...
2021-11-05 17:53:19 3866
原创 【刷题笔记1】LeetCode 169. 多数元素(三种方法逐级优化)
写在前面:自从大三渐渐退了acm之后就没有再系统的进行算法训练了,甚至本科毕业后就基本没做过算法题。最近深感自己这方面退步巨大,算法思维一停下来就不敏感了。所以希望以这个系列为契机,一方面通过从基础开始,把自己的算法思维再培养起来,好好锻炼一下基本功,另外也记录一下自己的刷题过程,希望能对其他同学的学习也有所帮助。虽然题目每日一题可能有点困难,但求上则居中希望给自己点压力,能坚持下来,尽可能的多刷题,早日找回状态。冲冲冲!(目前主语言C++,所以程序大概率以C++语言,后期不排除转语言或多语言编程.
2021-11-01 23:45:26 829 2
原创 全国大学生算法设计与编程挑战赛 (秋季赛)——正式赛 | J: 染方块-color
染方块-colorDescription现在有一个n \times nn×n的方格,每一个格子是红块(X),绿块 (O),或者空白块 (.) ,而你可以把空白块染成红色。在你对你想染色的空白块进行染色之后,方格会有这样的变化:如果一个绿色块上下左右都是红块,这个绿块就会变成空白块。给定方格的初始状态,你现在可以对其进行符合条件的染色,求空格最大能达到多少个。为了方便处理,我们保证没有任意两个绿块边相邻,任意一个绿块上下左右必定有一个空白块,同时假定棋盘边界外的部分全都是红块。...
2020-12-30 16:31:45 1179
原创 全国大学生算法设计与编程挑战赛 (秋季赛)——正式赛 | I: 小x的好路-road
小x的好路-roadDescription小x是一个热爱生活的人。小x想要进行一次爽快的旅行,借此刺激隔壁国庆只放四天的同学。热爱生活的小x想去体验「抬首仰望,山上苍松茂密,层层叠叠、黛绿如墨,峰峦跌宕如风起云涌,松涛阵阵似万马奔腾。俯瞰山下,其绝美意境如一帘油画尽收眼底。那蜿蜒崎岖的九曲河水,如蛟龙过境迂回向前。」没错,是「九曲十八弯」!但焕星的「九曲十八弯」非常大,可以简化为一个具有nn个点的完全图,由于小x的旅行路线不同常人,路的方向并不会限制到小x的行动,他只喜欢按照自...
2020-12-30 16:30:35 879
原创 全国大学生算法设计与编程挑战赛 (秋季赛)——正式赛 | H: 最大化-max
最大化-maxDescription有一张NN个点的无向图,要求给每个点分配一个标号,使得任意一条边两端的点的标号差(绝对值)不能超过给出的常数DD,要求在此基础上最大化标号的最大值减最小值.如果答案为+\infin+∞,则输出 -1.Input第一行两个个数字n,Dn,D接下来nn行,每行nn个数字,第ii行jj列的数字等于11,表示存在一条从ii到jj的无向边。Output一行一个数字,表示答案Sample Input 1...
2020-12-30 16:29:35 2429
原创 全国大学生算法设计与编程挑战赛 (秋季赛)——正式赛 | D: 兰德索尔杯-cup
兰德索尔杯-cupDescription半年一度的兰德索尔杯开幕了!「兰德索尔杯」是一个趣味跑步比赛。参加比赛的成员四人一组,在不同的赛道上进行跑步。下图就是跑步的一个场景:可以看到,跑道上充满了一些特殊物件:加速阵、障碍物、魔物等等。这使得比赛充满了乐趣(你看她们玩的多开心啊)在这道题目中,为了简化起见,我们可以认为每个人的跑步速度相同(其实本来就如此),且将跑道看作是一个长度为nn的字符串。字符串上的每个位置代表了1\mathrm{m}1m的距离。不同的字符分别代表...
2020-12-30 16:28:21 1275
原创 全国大学生算法设计与编程挑战赛 (秋季赛)——正式赛 | A: 小x的奇遇-adventure
小x的奇遇-adventureDescription小x是一个热爱生活的人。小x在「九曲十八弯」中玩的很嗨,但是在最后一次乘车途中被坏人抓走了!得知小x是某「高」校的「高材生」后,邪恶的坏人掏出了罪恶之极的数学题!坏人A手中有一个函数ff,据坏人粗糙的描述,小x得知,\begin{aligned}f(1)=1,f(n)=\sum_{i=1}^{n-1}[gcd(i,n-i)==1]\end{aligned}f(1)=1,f(n)=i=1∑n−1[gcd(i,n−i)==1]...
2020-12-30 16:26:26 1250
原创 1024程序员节的一些随笔
转眼间又是一年程序员节,来CSDN转眼已经三年了,之前两年的程序员节都错过 了,所以三年也没混的一个徽章,今年就不要再错过了吧。今年在CSDN是收获满满的一年,自己的文章逐渐被大家所接受,博客也慢慢变的热闹了起来,同时也在CSDN上认识了许多小伙伴 ,这些都是让自己继续创作下去的动力。回首过去,还记得当时年初那会,因为疫情在家,便没事就在CSDN上逛逛看看技术文章划划水什么的,那段时间也是博文更新最快的一段时间,自己的技术和互联网思维也没少得到提升,生活过得既充实又快乐。不过后来开始考研以及一些
2020-12-20 20:20:06 633 2
原创 20秒 一键配置 VSCode (Visual Studio Code) C/C++开发环境
用分享的方式成长,用有趣的眼光看世界。欢迎来到22 26 25的博客 !热爱编码、算法、知识总结,不定期更新有趣、有料、有营养内容。 让我们共同学习,共同进步。2015 年 4 月 29 日的 Build 大会上,微软发布了 Visual Studio Code 第一个预览版本。短短五年不到的时间里,VS Code 高速成长。在 Stack Overflow 的 2019 ...
2020-03-03 11:23:46 42805 73
原创 8种方法优雅地利用C++编程从1乘到20
用分享的方式成长,用有趣的眼光看世界。欢迎来到22 26 25的博客 !热爱编码、算法、知识总结,不定期更新有趣、有料、有营养内容。 让我们共同学习,共同进步。首发见知乎,如何优雅地利用c++编程从1乘到20?数学家版本:#include <iostream>#include <cmath>int main(){ s...
2020-02-22 14:51:25 4769 10
原创 《软件工程与实践》第三版 软工导论知识梳理总结
写在前面:又是一年期末季。这次带来的是软件工程的课程知识梳理,希望能让读者有所收获(●'◡'●)参考书目: 清华大学出版社《软件工程与实践》第三版 贾铁军,李学相,王学军主编 同类梳理: 《数据库系统概论》第五版(王珊版)全书知识梳理 《计算机组成原理》第五版(唐朔飞考研版) 全书知识梳理 《数据结构》C语...
2020-02-21 20:34:42 2319 7
原创 【Python】实战 --- 图书管理系统
写在前面:利用python的列表数据结构模拟数据库,实现了控制台界面的图书管理系统。功能都比较初级,但基本实现了 学生信息管理(CRUD),图书信息管理(CRUD)及借阅信息管理(CRUD)同时也具有如 :输入学号,则相应输出该学生的所有借阅信息;输入图书名,则相应输出该图书目前被谁所借。 等功能样例展示:源码:import sysbooks = [['...
2020-02-21 10:01:51 2441 3
原创 值得学习17个C/C++ 超经典开源项目,面试加分
用分享的方式成长,用有趣的眼光看世界。欢迎来到22 26 25的博客 !热爱编码、算法、知识总结,不定期更新有趣、有料、有营养内容。 让我们共同学习,共同进步。欢迎 点赞,关注,评论 以及各种交流~好文推荐: 从B站(哔哩哔哩)泄露的源码里发现了B站视频推荐的秘密 白嫖来的入门级云服务器有这么几个妙用(附教程) ...
2020-02-19 20:25:54 19721 6
原创 400+条实用C/C++框架、库、工具整理 ,你能想到的都在这里了
用分享的方式成长,用有趣的眼光看世界。欢迎来到22 26 25的博客 !热爱编码、算法、知识总结,不定期更新有趣、有料、有营养内容。 让我们共同学习,共同进步。欢迎 点赞,关注,评论 以及各种交流~好文推荐: 从B站(哔哩哔哩)泄露的源码里发现了B站视频推荐的秘密 白嫖来的入门级云服务器有这么几个妙用(附教程) ...
2020-02-19 20:16:11 5209 9
原创 B站 (哔哩哔哩) 泄露源码中的有趣片段(彩蛋)
这两天闲来无事,回顾了一下年前B站沸沸扬扬的代码泄露事件,大致翻阅了一些泄露的代码发现了一些有意思的事情,其中就包括B站视频推荐算法的相关代码。不过后期 B站官方辟谣说是老版本代码,并且已经进行相应的防御措施,但是后端大体的架构还是不会变化太多,所以就仁者见仁智者见智了,仅供吃瓜参考。关于事件始末详见姊妹篇从B站 (哔哩哔哩) 泄露的源码里发现了B站视频推荐的秘密...
2020-02-17 18:19:32 7397 7
原创 《嵌入式系统原理与应用》 | 常用库函数
系列索引:《嵌入式系统原理与应用》 | 嵌入式系统 重点知识梳理目录GPIO常用库函数(引脚的选择、工作模式、速度的设置及引脚的置位、复位与数据的读取)GPIO初始化过程及使用方式定时器相关库函数的使用(arr,psc及ccr值的设置,定时器中断的使用)中断相关库函数(中断通道、优先级分组的设置)DMA的常用库函数(主要在初始化时结构体变量的设置)...
2020-01-02 22:22:22 1580 2
原创 《嵌入式系统原理与应用》 | 常用模块工作模式
系列索引:《嵌入式系统原理与应用》 | 嵌入式系统 重点知识梳理目录GPIO的工作模式定时器的工作模式STM32中DMA的传输模式ADC的工作模式及DMA请求DMA请求SPI的工作模式、配置步骤及数据收发过程I2C的工作模式及其收发数据的过程GPIO的工作模式给一个任务要知道GPIO工作模式输出速度:定时器的...
2020-01-02 22:19:46 669
原创 《嵌入式系统原理与应用》 |(十二)IIC 知识梳理
系列索引:《嵌入式系统原理与应用》 | 嵌入式系统 重点知识梳理目录I2C的物理层接口(电平特性)及互联I2C、SPI及UART三者之间的对比I2C中的主从机、收发器的概念I2C中的起始条件、停止条件、数据有效性及数据格式I2C一次通信过程的组成及传输速率STM32中I2C的特性I2C的工作模式及其收发数据的过程I2C常用库函数(初始化设...
2020-01-01 10:56:33 2170 2
原创 《嵌入式系统原理与应用》 |(十一)SPI知识梳理
系列索引:《嵌入式系统原理与应用》 | 嵌入式系统 重点知识梳理目录SPI的物理层接口及互联SPI的时钟极性及时钟相位SPI的数据格式及传输速率STM32中SPI的特性SPI的工作模式、配置步骤及数据收发过程SPI的状态标志和中断(两个重要的:TXE和RXNE)SPI的常用库函数(初始化设置、收发数据)SPI的物理层接口及互联SPI(...
2020-01-01 01:51:27 2604 4
原创 《嵌入式系统原理与应用》 |(十)UAPT 知识梳理
系列索引:《嵌入式系统原理与应用》 | 嵌入式系统 重点知识梳理目录数据通信的基本概念(串行与并行、单工、双工、半双工、同步与异步)UART的物理接口及互联方式UART的数据格式及传输速率(传输时间的计算)STM32 USART的特性*USART使用DMA发送及接收数据的流程USART相关库函数(初始化结构体变量的设置、发送与接收数据...
2020-01-01 01:12:10 2300 2
原创 《嵌入式系统原理与应用》 |(九) ADC 知识梳理
系列索引:《嵌入式系统原理与应用》 | 嵌入式系统 重点知识梳理目录ADC的过程包括哪些ADC的性能参数ADC的主要类型及其各自优缺点STM32 F103中ADC的内部结构(重点在数据寄存器)STM32 中ADC的通道及分组ADC转换时间的计算ADC的工作模式及DMA请求DMA请求ADC常用库函数(主要包括...
2019-12-31 21:59:49 2621 2
原创 《嵌入式系统原理与应用》 |(八)DMA 知识梳理
系列索引:《嵌入式系统原理与应用》 | 嵌入式系统 重点知识梳理目录DMA的定义及传输要素DMA的传输过程DMA的优缺点及其适用场景STM32中DMA的特点STM32中DMA的优先级机制STM32中DMA的传输模式STM32中DMA的常用初始化过程DMA的常用库函数(主要在初始化时结构体变量的设置)DMA...
2019-12-31 21:31:33 3072 2
原创 《嵌入式系统原理与应用》 |(七)中断 知识梳理
系列索引:《嵌入式系统原理与应用》 | 嵌入式系统 重点知识梳理目录什么是中断中断的处理过程、中断向量表中断的利弊STM32 中NVIC的中断优先级处理STM32中段服务函数的作用及其特点中断相关库函数(中断通道、优先级分组的设置)外部中断/事件控制器EXTI的特性及其使用方式volatile关键字的作用,并使用中断举例...
2019-12-31 19:51:42 3172 3
原创 《嵌入式系统原理与应用》 |(六) 定时器(计数器) 知识梳理
系列索引:《嵌入式系统原理与应用》 | 嵌入式系统 重点知识梳理目录嵌入式系统中延时实现的方式及其优缺点STM32 F103中的基本定时器、通用定时器及高级定时器的区别(包括所在总线及功能区别)定时器的时钟源有哪些?定时器的工作模式PWM的作用及其实现方式定时器中预分频、自动重装载、捕获/比较寄存器的初始值的设置定时器延时时间的计算...
2019-12-30 22:21:32 5354 2
原创 《嵌入式系统原理与应用》 |(五) 通用输入输出-GPIO 知识梳理
系列索引:《嵌入式系统原理与应用》 | 嵌入式系统 重点知识梳理目录STM32 F103系列微控制器中GPIO端口特性GPIO的工作模式GPIO的引脚复用功能重映射(打开AFIO)GPIO常用库函数(引脚的选择、工作模式、速度的设置及引脚的置位、复位与数据的读取)GPIO初始化过程及使用方式STM32 F103系列微控制器中GPIO端口特性GPI...
2019-12-30 21:40:00 3984
原创 《嵌入式系统原理与应用》 |(四) 基于ARM Cortex-M3的STM32微控制器 知识梳理
系列索引:《嵌入式系统原理与应用》 | 嵌入式系统 重点知识梳理目录STM32 F103系列控制器的主系统结构STM32 F103系列微控制器的存储映射及启动模式STM32 F103系列微控制器的系统时钟与STM32 F103时钟相关的库函数STM32 F103微控制器的低功耗模式STM32 F103系列微控制器中看门狗的作用及其特性启...
2019-12-30 19:04:40 5416 3
原创 《嵌入式系统原理与应用》 |(三) ARM-Cortex M3处理器 知识梳理
系列索引:《嵌入式系统原理与应用》 | 嵌入式系统 重点知识梳理目录ARM Cortex M3 处理器Cortex M3的总线接口Cortex M3的调试系统Cortex M3的寄存器及其作用Cortex M3的工作状态、特权分级及操作模式Cortex M3的中断与异常的处理过程Cortex M3的双堆栈及其作用Cortex ...
2019-12-29 22:28:30 4894 1
原创 《嵌入式系统原理与应用》 |(二)嵌入式系统开发 知识梳理
系列索引:《嵌入式系统原理与应用》 | 嵌入式系统 重点知识梳理目录系列索引:《嵌入式系统原理与应用》 | 嵌入式系统 重点知识梳理嵌入式系统的开发过程嵌入式系统硬件设计包括哪些嵌入式系统的软件设计包括哪些嵌入式系统开发工具的组成小结嵌入式系统的开发过程宿主机目标机宿主机与目标机的连接要建立交叉开发环...
2019-12-28 20:56:14 3030
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人