思路 字符a-z的ASCII码是26个连续的数值, a的ascii码为97 - a 相当于 a的下标是0,那么a-z都减去a, 那就是0-25, 我们让其数值++就可以统计出...
思路 字符a-z的ASCII码是26个连续的数值, a的ascii码为97 - a 相当于 a的下标是0,那么a-z都减去a, 那就是0-25, 我们让其数值++就可以统计出...
思路 快慢指针解法 定义两个指针fast和slow, 每次让fast走两步, slow走一步, 当fast和slow相遇时,证明链表有环 如果求环的入口节点呢image.pn...
思路 双指针 时间复杂度O(n) 空间复杂度O1 首先还是先设置虚拟头节点, 方便处理删除头节点的情况dummyHead.next = head 设置fast = dummy...
思路 普通解法. 如果要删除的节点就是头结点. 就不太好操作, 会多一段先操作头结点的代码 虚拟头节点解法. 我们可以新增一个虚拟的头节点, dummy.next -> he...
思路 这题考虑挺全面的 细节要考虑清楚, 不熟练写起来还是有点烦 使用虚拟头节点这种写法, 我感觉特别好, 可以统一处理链表的所有情况, 比如删除头尾节点时, 但是也要合理运...
思路 sum -= nums[i], i++ 滑动窗口的精髓在于这行代码遍历数组向滑动窗口中添加元素累加数值, 并每次判断是否符合条件, 如果 sum < target 则一...
思路 这题目中文描述是真的2,非要反着描述, 非递减顺序的数组, 那不就是递增的数组吗 需要思考的点就是 最小的负数平方之后会发生变化, 负负得正,可能变成最大数 这样其实...
思路双指针解法, 一开始让slow和fast都指向数组索引0开始循环遍历, 判断 nums[fast] 指向的数值 != 要删除的元素, 则让nums[fast]的值 覆盖 ...
main函数之前都干了什么dyld: 动态链接器, 把所有可执行文件以及动态库递归的加载到内存中rebase/bindging: rebase是指调整镜像内部的指针, bin...
卡顿主要表现为主线程卡死, 不响应用户操作或响应很慢, 这种体验很差, 会让用户对产品的好感地急速下滑, 如果不及时优化, 最终会导致用户流失 哪些情况会导致主线程卡顿呢? ...
通过实例化CADisplayLink添加到相当runloop中,并添加到当前应用程序窗口, 监控当前屏幕刷新率, 如果低于阈值, 可以高亮显示 监控思路是获取当前屏幕刷新率...
CPU和GPU的工作原理 在屏幕成像的过程中,CPU和GPU起到了至关重要的作用 CPU 对象的创建和销毁 对象属性的调整frame,bound 布局的计算 文本的计算和排版...
思路 二分查找的原理从排好序的数组中,将数组从中间索引处一份为二, 拆分成左右两个子数组进行搜索, 左右两个子数组分别在根据自身中间索引在一份二位, 一直到left和rig...
两数之和 无重复字符的最长子串[https://leetcode.cn/problems/longest-substring-without-repeating-charac...
HTTP1.1 相对于1.0来说有进行了性能上的提升首先HTTP1.1采用长连接的方式, 改善了1.0时期的频繁连接和断开短连接的性能开销支持管道网络传输, 连接请求发送出去...
HTTP是超文本传输协议, 信息都是以明文方式传递, 存在安全隐患.HTTPS则是在解决其他不安全的问题, 在TCP和HTTP网络层之间添加了TLS安全协议, 是报文能够加密...
早起HTTP1.0 性能上有个很大的问题, 就是每次发起一个请求, 就要从新建立一次TCP链接, 而且是串行请求, 请求完了就会断开,做了很多没必要的TCP连接的建立和断开,...
HTTP最凸出的优先是简单, 灵活 易于扩展, 应用广泛和跨平台 简单HTTP基本的报文格式就是header + body, 头部信息也是key-value的简单文本形式, ...
超文本传输协议. 是一个在计算机之间专门进行传输数据的约定和规范 GET和POST方法的区别 get请求的语义是的意思是从服务器获取资源, 请求的参数是直接拼接在URL上,浏...
HTTP是基于TCP协议传输的, 所以在这我们先了解下TCP协议 TCP包头格式 我们先看看TCP报文头部的格式: 首先 源端口号和目标端口号是必不可少的, 没有没有这两个端...