1. 修改文档背景色

参考原文,记录备查!

修改路径:打开 Acrobat DC 点击编辑 ==> 首选项 ==> 辅助工具 ==> 文档颜色选项 ==> 自定义颜色。

几种柔和的背景色配色方案:

1
2
3
4
5
6
7
8
9
10
Typora颜色:(255,251,232)
下面的颜色部分转载于(https://www.jianshu.com/p/bbe9ce62e5a2)
河白色 FFFFFF rgb(255, 255, 255)
杏仁黄 FAF9DE rgb(250, 249, 222)
秋叶褐 FFF2E2 rgb(255, 242, 226)
胭脂红 FDE6E0 rgb(253, 230, 224)
青草绿 E3EDCD rgb(227, 237, 205)
海天蓝 DCE2F1 rgb(220, 226, 241)
葛巾紫 E9EBFE rgb(233, 235, 254)
极光灰 EAEAEF rgb(234, 234, 239)
  1. 快速高亮文本

参考原文,要启用单键快捷方式,请打开“首选项”对话框(“编辑”>“首选项”),然后在“一般”下,选择“使用单键加速键访问工具”选项。 展开页面右侧导航,选择 注释 ,点击 高亮文本 工具,可实现鼠标左键双击高亮文本。

1
选定当前高亮标记工具 U


自己想到的解法,就是循环遍历数组中的每一个元素,求出左侧数之和和右侧数之和,然后判断是否相等。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
var pivotIndex = function (nums) {
for (let i = 0; i < nums.length; i++) {
let sumLeft = 0;
let sumRight = 0;

// 1.求左侧数之和
for (let l = 0; l < i; l++) {
sumLeft += nums[l];
}

// 2.求右侧数之和
for (let r = i + 1; r < nums.length; r++) {
sumRight += nums[r];
}

// 判断
if (sumLeft === sumRight) {
return i;
} else if (i === nums.length - 1) {
return -1;
} else {
continue;
}
}
};
nums = [1, 7, 3, 6, 5, 6];
console.log(pivotIndex(nums));

由于使用了嵌套的 for 循环,所以时间复杂度为 O(n²)。

阅读全文 »


  1. 作用域与作用域链

    • 作用域

      • 理解
        • 代码段所在的区域
        • 它是静态的(相对于上下文对象),在编写代码时就确定了
      • 分类
        • 全局作用域
        • 函数作用域
        • 块作用域
      • 作用
        • 隔离变量,不同作用域下同名变量不会有冲突
    • 作用域与执行上下文

      • 区别 1
        • 全局作用域外,每个函数都会创建自己的作用域,作用域在函数定义时就已经确定了,而不是在调用时确定
        • 全局执行上下文环境是在全局作用域确定后,js 代码马上执行之前创建
        • 函数执行上下文环境是在调用函数时,函数体代码执行之前创建
      • 区别 2
        • 作用域是静态的,只要函数定义好了就一直存在,且不会变化
        • 上下文环境是动态的,调用函数时创建,函数调用结束时上下文环境就自动释放
      • 联系
        • 执行上下文环境(对象)是从属于所在的作用域
        • 全局上下文环境 ==> 全局作用域
        • 函数上下文环境 ==> 对应的函数使用域
    • 作用域链

阅读全文 »


leetcode 题库里面的一道题,官方讲解得很清楚,记录一下。

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

解法一,比较容易想到的解法就是暴力求解,嵌套 for 循环,时间复杂度 O(n²),空间复杂度 O(1)。 题目要求,数组中同一个元素在答案里不能重复出现,所以,第二层 for 循环只需要在 i 之后的元素中寻找。

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
var twoSum = function (nums, target) {
for (let i = 0; i < nums.length - 1; i++) {
for (let j = i + 1; j < nums.length; j++) {
if (nums[i] + nums[j] === target) return [i, j];
}
}
};

阅读全文 »
0%