自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 问答 (2)
  • 收藏
  • 关注

原创 【Leetcode】二分查找进阶版

875. 爱吃香蕉的珂珂int hour (int* piles, int pilesSize, int x);int minEatingSpeed(int* piles, int pilesSize, int h){ int left = 1; int right = 1000000000 + 1; while (left < right) { int mid = left + (right - left) / 2; if (hour(pi

2022-03-11 16:02:31 92

原创 [Leetcode]二分查找(三板斧:定位置,左边界,右边界)

对于二分查找来说,最重要一点是要弄清楚如何查找。所谓如何查找首先要弄清查找的边界,对于给定的的一个范围是[闭区间]还是[左闭右开),这其中牵扯到每一次更新位置的时候mid的定位。每次拿着中间位置的那个元素和目标元素去进行比较,其实换个角度想也就是将目标所在的位置通过改变left与right来一点点定位出来,这也是贯穿整个二分查找元素位置、左边界、右边界的核心思想。每次和中间位置那个元素比较完之后,除非是相等,否则就将中间的那个元素剔除(因为已经比较过了),向左或者向右来把这个目标所在的范围一点点逼近。

2022-03-10 14:37:14 241

原创 【计算机系统】编译器是如何工作

一、编译器就是个程序编译器的作用是将高级语言翻译成低级语言。而编译器本身,就是个程序。假定现在有一段程序:while (y < z) { int x = a + b; y += x;}那么编译器是怎样把这一段程序人类认识的程序转换为CPU认识的二进制机器指令呢?二、万物皆token编译器会把源代码中每个空格之间的有效符号视为一个“token”,从源代码中提取出token的过程就被称为词法分析,Lexical Analysis。经过一遍词法分析,编译器得到了以下token:

2022-03-01 21:02:16 862

原创 【Leetcode】数组的元素修改

元素的原地修改使用很重要一个技巧:双指针。注意这里的指针并非狭义上链表中那种指针,而是只要能指明位置的,都叫指针。双指针使用的好处是避免了暴力循环里的跑空趟:用一个快指针在前面探路,看看与后面的大部队(慢指针)有没有重复的。要是确认安全(不重复),那么就让大部队前进一步,把快指针的内容同步上去。要是不安全(重复了),那么就让大部队原地不动(慢指针的内容不动)。快指针向前一步继续打探情报。26. 删除有序数组中的重复项int removeDuplicates(int* nums, int numsSi

2022-02-25 10:13:22 652

原创 markdown编辑指导

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2022-02-20 15:08:33 86

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除