1. 栈栈是一种遵从先进后出 (LIFO) 原则的有序集合;新添加的或待删除的元素都保存在栈的末尾,称作栈顶,另一端为栈底。在栈里,新元素都靠近栈顶,旧元素都接近栈底。
class Stack { constructor() { this.items = [] } // 入栈 push(element) { this.items.push(element) } // 出栈 pop() { return this.items.pop() } // 末位 get peek() { return this.items[this.items.length - 1] } // 是否为空栈 get isEmpty() { return !this.items.length } // 尺寸 get size() { return this.items.length } // 清空栈 clear() ...
排序算法是面试及笔试中必考点,本文通过动画方式演示,通过实例讲解,最后给出 JavaScript 版的排序算法
1. 冒泡排序
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从头到尾,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
编程思路:外循环控制需要比较的元素,比如第一次排序后,最后一个元素就不需要比较了,内循环则负责两两元素比较,将元素放到正确位置上
// 冒泡排序,两层循环function bubbleSort(arr) { var len = arr.length for (var i = len - 1; i > 0; i--) { for (var j = 0; j < i; j++) { if (arr[j] > arr[j + 1]) { var tmp = arr[j] arr[j] = arr[j + 1] ...
在开始学习之前,我们首先要搞懂时间复杂度和空间复杂度的概念,它们的高低共同决定着一段代码质量的好坏
1.时间复杂度一个算法的时间复杂度反映了程序运行从开始到结束所需要的时间。把算法中基本操作重复执行的次数(频度)作为算法的时间复杂度。
1.1 大 O 表示法大 O 表示法是用来表示算法的性能和复杂度的, 通常也表示算法占用 cpu 的情况。
O(1)复杂度
// 复杂度为永远为一function increase(n) { n++}
O(log n)复杂度
对数级的时间复杂度,随着数组数量的扩大,它的时间复杂度增长反而越来越缓慢,也就是说,数组越长对数级的时间复杂度的算法越具备优势.
二分查找法就是典型的对数级的时间复杂度,我们通过动图能看到它的优势,几步就能完成。
// 二分查找,前提是数组为有序数组function binarySearch(target, arr) { let start = 0 let end = arr.length - 1 while (start <= end) { let mid = ...
kkndme_tianya(持续更新中…)
天涯神贴「2010 年的房地产调控,我们收获了什么?写在房价暴涨前」脱水版,内容时间顺序和原贴一致,原贴中的优质非楼主写的内容,添加了引用格式便于区分。
除标题外,所有内容均来自原贴,标题是我简单加的,目的是为了做目录,便于查看。
调控降房价是刚需的一厢情愿
1、人人都有居住权。房子是用来住的,不是用来炒的。
2、房子太贵了,租售比严重不合理,空置率太高,人均收入太低,早晚要崩盘。
3、房价上涨造成物价上涨,人民生活变得困难
调控的真正目的:防范金融风险 & 通过垄断实现 gj 利益最大化
官方公布的统计数据,只要关系到某个群体的利益,就一定会被修饰导致失真
税收从来都是向下游转嫁的 & 房产税迟迟不出台的真正原因
房地产的现状
房价持续上涨的本质是稀缺性让好房子成为资金最好的去处
关于垄断
1、垄断的好处是没有风险
2、垄断可以解决社会稳定
3、房屋垄断只会愈演愈烈,底层人民想要拥有一套房子的难度只会越来越难
民生问题
房产税的制定原则
维稳的本质是人民能吃饱饭
公租房是为体制内服务的
房产税一定会转嫁给租房人 ...
如何在 VSCode 中设置断点,直接调试 Vue 代码?
以下所有运行环境的 node 版本:v16.15.1
1 vue-cli 4 创建的 vue 项目以下操作和设置,在由 vue-cli 4 创建的 vue2/js 项目下进行,应该也适用于 vue-cli 4 下创建的其它类型项目,没有进一步尝试。
vue-cli 4 对应的 webpack 版本为 4.x。
一些前置条件VSCode 已经内置 JaveScript Debugger,不需要再安装 Debugger for Chome。
microsoft/vscode-js-debug: The VS Code JavaScript debugger
VSCode 需要配置 launch.json
Debugging in Visual Studio Code
在项目中,添加 launch.json 文件,可以选择多种调试器。
如果已经创建,则还可以添加配置。
这里是配置属性的含义说明:
Debugging in Visual Studio Code
launch.json 配置需要添加 sourc ...