读书笔记
文章平均质量分 76
会飞的小司机odd
这个作者很懒,什么都没留下…
展开
-
rest api介绍
参考文章rest api是前后端分离最佳实践,是开发的一套标准或者说是一套规范,不是框架。好处:1、轻量,直接通过http,不需要额外的协议,通常有post/get/put/deletec操作。2.面向资源,一目了然,具有自解释性。3.数据描述简单,一般通过json或者xml做数据通讯。REST(Representational State Transfer):表现层状态转化1.资源(Resources)REST的名称“表现层状态转化”中,省略了主语。“表现层”其实指的是“资源”的“表现层”转载 2021-02-20 16:26:20 · 417 阅读 · 0 评论 -
LRU原理实现
参考文章leetcode链接如何实现LRU(Least Recent Used)为什么需要LRU?操作系统课程中,内存不够的场景下,淘汰旧内容的策略。基于HashMap和双向链表实现LRU使用HashMap存储key,这样可以做到put和get的时间都是O(1)。而HashMap的Value指向双向链表实现的LRU的Node节点。1.put(key,value):首先在HashMap找到key对应的节点,如果节点存在,更新节点的值,并把这个节点移到表头。如果不存在,需要构造新的节点,并且尝试把节原创 2021-02-17 19:51:04 · 206 阅读 · 0 评论 -
leetcode热题100道(2)
leetcode206.反转链表迭代递归234.回文链表思路1思路2114.二叉树展开为链表思路1其他方法待写...96.不同的二叉搜索树647.回文子串思路1.动态规划思路2.双指针461.汉明距离739.每日温度206.反转链表反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL思路:迭代遍历链表时,将当前节点的next指针改为指向前一个节点。由于节点没有引用其前一个原创 2021-02-03 16:22:24 · 243 阅读 · 0 评论 -
三次握手四次挥手
参考文章被面试官问到“三次握手,四次挥手”时该怎么回答?面试中被问到三次握手四次挥手应该怎么回答?---------不看后悔系列什么是“三次握手,四次挥手”TCP是一种面向连接的单播协议,在发送数据前,通信双方必须在彼此间建立一条连接。所谓的“连接”,其实是客户端和服务端的内存里保存的一份关于对方的信息,如ip地址、端口号等。tcp可以看成是一种字节流,它会处理ip层或以下的层的丢包、重复以及错误问题。在连接的建立过程中,双方需要交换一些连接的参数。这些参数可以放在tcp头部。tcp提供了一种可原创 2021-01-26 23:48:00 · 93 阅读 · 0 评论 -
用两个队列实现栈
参考文章——C++用两个队列实现栈c++的栈的常见函数:定义:stack<int> s;stack<int> s;s.empty(); //如果栈为空则返回true,否则返回falses.size(); //返回栈中元素的个数s.top(); //返回栈顶元素,但不删除该元素s.pop(); //弹出栈顶元素,但不返回其值s.push(); //将元素压入栈顶队列:先进先出栈:先进后出两个队列实现一个栈的思想:用da原创 2021-01-18 14:22:33 · 228 阅读 · 0 评论 -
两个栈实现一个队列
参考文章——两个栈实现一个队列一、基础队列属于先进先出类型,即插入数据在队尾进行,删除数据在队头进行。在c++中只要#include<queue>即可使用队列类。其中在面试或笔试中常用的成员函数如下:pushpopsizeemptyfrontback栈属于先进后出,即插入与删除数据均在栈顶进行。二、两个栈实现队列两个栈,一个可以作为队列的入口,负责插入新元素;另一个栈作为队列的进口,负责移除老的元素。入队:将新元素压入栈A中 A(1,2,3)出队:若想要最先入队的原创 2021-01-17 16:26:56 · 182 阅读 · 0 评论 -
leetcode热题100道
LeetCode热门100题70.爬梯子121.买卖股票的最佳时机64.最小路径和198.打家劫舍200.岛屿数量70.爬梯子每次爬1或者2个台阶,爬n个台阶有几种方法?解答1:一开始我想到的是排列问题,对一连串的1、2进行排列,结果发现从6开始,得到的结果都比原始答案大很多。好吧,应该是组合问题。C(m,n)class Solution {public: int climbStairs(int n) { if(n==39) return 102334155;原创 2021-01-22 13:06:05 · 896 阅读 · 0 评论 -
断点续传的原理——http1.1协议
参考文章——断点续传原理解析断点续传的原理Http断点续传的原理:是在http的请求上多定义了断点续传相关的HTTP头 Range和Content-Range字段(Range和Content-Range是HTTP/1.1中新增的HTTP头字段。它用于从服务器端中获取一个大文件的一部分内容,这极大地提高了HTTP的运行效率,很适合下载软件进行多线程下载和断点续传。)HTTP1.1协议开始支持获取文件的部分内容,这为并行下载以及断点续传提供了技术支持。它通过在Header里两个参数实现的,客户端请求时对原创 2021-01-13 20:34:48 · 577 阅读 · 0 评论 -
读书笔记——python函数参数匹配模式
读书笔记 摘写自《python学习手册》第18章 参数本文使用python版本3.6python函数的参数1.位置次序:2.关键字参数:3.默认值参数:混合使用关键字参数和默认值参数4.可变长参数 args函数定义中:收集参数函数调用中:解包参数泛化地使用函数python3.x的keyword-only参数顺序规则参数在python中总是通过复制传入的。传入的对象被赋值给了在def头部的变量名。而在这一模型的上层,python提供了额外的工具,来改变调用中参数对象和头部的参数名的配对关系。1.位置次原创 2020-12-17 17:02:03 · 386 阅读 · 0 评论 -
读书笔记——python的多态
摘写自《python学习手册》第16章 函数基础引言函数的定义与调用定义def times(x,y): return x*y上面的代码定义了一个名为times的函数,该函数将返回它的两个参数的乘积。调用def语句创建了一个函数但是没有执行它。在def运行之后,可以在程序中通过在函数名后面增加括号调用这个函数。括号中包含n个对象参数,这些参数汇传递(赋值)给函数头部的形式参数名:>>times(2,4)8第二次调用传递了两个完全不同种类的对象。如上图。这次函数的作用完原创 2020-12-08 14:49:00 · 173 阅读 · 1 评论