自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(409)
  • 收藏
  • 关注

原创 实用算法——记录在实际工程中用到的算法

写在前面记录在实际工程项目中用到的算法。返回一个处于 [min,max) 之间的随机整数。Math.floor(Math.random() * ( max - min ) + min)随机生成 N 个不重复的整数。思考这么一个场景:在编写扫雷程序时,假设需要在 a * a 的方格上随机生成 N 个(N<a*a)地雷,如何保证每次生成的地雷的位置不同呢?简化为数学模型即为题...

2020-02-20 16:20:34 330

JavaScript 中的一些琐碎

对于 a = [1,2,3],可以通过设置 Object.defineProperty(a,'lenght', {writable:false})来阻止其长度的改变,此时,push, pop 等改变长度的行为均会报错。(设置 a.length = 7 不会报错,但是不起作用)Var in Arr中Arr是数组时,意思是查看Arr中有无Var索引。for-in 循环可以枚举到属性名,例如:let a = [1,2,3]a['x'] = 4;for( let i in a) { console..

2020-08-31 21:29:21 275

原创 一个真值表小工具

一个真值表小工具网址:https://github.com/bvanjoi/truth-table-generator.忙里偷闲写了一个真值表小工具,它的界面长这样:实现的功能有:与,或,非,异或,全等,蕴含。举个极端的例子,输入:( test /\ aaadw /\ (_fds<->a /\ T \/ fn) /\ dcx \/ vd) /\ ~ s1sand <->(notaf<->~~fforad)->F/\(~t -> xwtqs^a)-&g

2020-07-31 01:39:50 1961

原创 JavaScript 中实现私有变量

首先,来看一个示例:function Rectangular(width, height) { this.width = width; this.height = height;}Rectangular.prototype.getArea = function() { return this.width * this.height;}const r = new Rectangular(2,3);console.log( r.getArea())// 6以上,可以认为我们

2020-06-28 17:37:42 453

原创 程序人生

个人发展把时间花到刀刃上接触更有技术含量更核心的工作。对于没什么技术含量的工作,想办法提高效率,减少重复。经历大多数人没有经历的,把时间花费到较难的地方。写文章,要不写别人没写过的,要不别人写过,但我能写的更好。作出能让别人尊重的技术成就。对个人技术发展的要求扎实的基础技术;吃透基础技术,具体而言,就是编程:接近底层的 C 语言,编程范式、数据结构预算法和系统:计算机操作系统、...

2020-04-22 10:13:18 287

原创 bind, apply, call 的实现与区别

bind, apply, call 的实现与区别三者均用于显示绑定 this.区别:bind 返回的是一个函数;apply 的第二个参数是数组形式;call 的参数是 (this, arg1, arg2…)实现:function myCall( context){ var context = context || window; var args = argumen...

2020-04-08 21:01:43 222

原创 函数节流 与 函数防抖

函数节流 与 函数防抖防抖与节流都是为了限制函数的执行次数,用来优化事件频率过高导致性能问题。防抖:触发高频事件后 n 秒内函数只执行一次,在此期间如果再次被触发,则重新计算时间;节流:事件触发后,n 秒内无论点击多少次,都只按照第一次时间计算。防抖 debounce实现思路:把目标动作包装到 setTimeOut 中,然后该方法是一个事件的回调函数,如果该回调在指定事件内被重新触发...

2020-04-08 17:58:41 278

原创 【每日刷题】从尾到头打印链表

题目地址https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/题目描述:从尾到头打印链表输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。例:输入:head = [1,3,2]输出:[2,3,1]解答栈/递归,二者本质是相同的(递归本质上是一个栈结构),但当链表长度非常长...

2020-03-02 16:47:11 203

原创 【每日刷题】替换空格

题目地址https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/题目描述:替换空格请实现一个函数,把字符串 s 中的每个空格替换成"%20"。例:输入:s = “We are happy.”输出:“We%20are%20happy.”解答方法一:新开辟一个字符串,从前往后遍历。但空间复杂度为 O(n), 因此不建议。方法二:...

2020-03-02 16:26:31 141

原创 【每日刷题】二维数组中的查找

题目地址https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/题目描述:二维数组中的查找在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。例:现有矩阵 matrix 如下...

2020-03-02 15:36:44 226

原创 【每日刷题】数组中重复的数字

题目地址https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/题目描述:数组中重复的数字找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例:...

2020-03-02 12:36:12 222

原创 【每日刷题】铺地毯

题目地址https://www.luogu.com.cn/problem/P1003解答该问题属于阅读理解题。我第一次提交的时候 WA 了一次,查了一下原因才知道看错了题目:输入的n个参数行中,前两个参数为起始坐标,两个参数为对应的 x 轴,y 轴的长度。我看成了输入的是起始坐标和终点坐标。思路:考察点是否处于对应的矩形内,若在,则更新;否则保持。#include <iostre...

2020-01-27 13:24:43 223

原创 【每日刷题】过河卒

题目地址https://www.luogu.com.cn/problem/P1002解答动态规划可以解决该问题。为什么用动态规划?注意题目中的关键一点:只能向下或向右走。此时可以列出表达式:record[i][j] = record[i-1][j] + record[i][j-1].首先:不考虑“马”存在的情况,即路上没有障碍。因此可以一路走下去,直接到终点即可。如果考虑“马”,则在...

2020-01-27 10:44:59 433

原创 爬虫实战:爬掉 MBA 智库中的百科

目标首先说下目标:Spider 以下可以链接到的所有百科文本。地址:https://wiki.mbalib.com/wiki/MBA%E6%99%BA%E5%BA%93%E7%99%BE%E7%A7%91:%E5%88%86%E7%B1%BB%E7%B4%A2%E5%BC%95#.E9.87.91.E8.9E.8D.E7.99.BE.E7.A7.91从主页面开始说起简单分析首先需要明...

2020-01-24 17:50:54 1307

原创 【每日刷题】A+B Problem

题目地址https://www.luogu.com.cn/problem/P1001解答阅读理解题。OS:是谁在水题?是我是我就是我。#include <iostream>//-----------------------using namespace std;//-----------------------int main() { long a,b; ...

2020-01-23 17:47:10 194

原创 【每日刷题】超级玛丽游戏

题目地址https://www.luogu.com.cn/problem/P1000解答阅读理解题。OS:时至今日,我才知道 CLoin 比 Xcode 好用一千倍。#include <iostream>//-----------------------using namespace std;//-----------------------int main() {...

2020-01-23 17:36:59 240

原创 【每日刷题】二叉搜索树中的插入操作

题目地址https://leetcode-cn.com/problems/insert-into-a-binary-search-tree/题目描述:二叉搜索树中的插入操作给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 保证原始二叉搜索树中不存在新值。注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回...

2020-01-21 21:50:33 312

原创 React 指引

React 指引最近在学 React, 看到一篇博客写的不错,可惜是英文版,正巧无事,翻译过来吧。原文地址: https://www.taniarascia.com/getting-started-with-react/准备在开始使用 React 之前,有一些事情需要准备好:对 HTML & CSS 有一个基本的了解;了解 JavaScript;对 DOM 有基本的认识;...

2020-01-17 16:17:25 258

原创 【每日刷题】岛屿数量

题目地址https://leetcode-cn.com/problems/number-of-islands/题目描述:岛屿数量给定一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。示例:例 1:输入:11110110101100000000输出: ...

2020-01-10 10:38:32 206

原创 【每日刷题】二叉树的右视图

题目地址https://leetcode-cn.com/problems/binary-tree-right-side-view/题目描述:二叉树的右视图给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释: 1 <---/ ...

2020-01-09 22:40:22 217

原创 【每日刷题】打家劫舍

题目地址https://leetcode-cn.com/problems/house-robber/题目描述:打家劫舍你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最...

2020-01-09 16:05:22 156

原创 【每日刷题】位1的个数

题目地址https://leetcode-cn.com/problems/rotate-array/题目描述:位1的个数编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000...

2019-12-25 22:31:10 109

原创 【每日刷题】上升的温度

题目地址https://leetcode-cn.com/problems/consecutive-numbers/题目描述:连续出现的数字编写一个 SQL 查询,查找所有至少连续出现三次的数字。例如,给定 Logs 表, 1 是唯一连续出现至少三次的数字。+----+-----+| Id | Num |+----+-----+| 1 | 1 || 2 | 1 ||...

2019-12-24 17:03:45 138

原创 【每日刷题】旋转数组

题目地址https://leetcode-cn.com/problems/rotate-array/题目描述:旋转数组给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6],向右旋转 2 步: [6,7,1,2...

2019-12-24 10:35:01 102

原创 【每日刷题】从不订购的客户

题目地址https://leetcode-cn.com/problems/customers-who-never-order/题目描述:从不订购的客户某网站包含两个表,Customers 表和 Orders 表。编写一个 SQL 查询,找出所有从不订购任何东西的客户。Customers 表:+----+-------+| Id | Name |+----+-------+| 1...

2019-12-23 16:58:42 141

原创 【每日刷题】超过经理收入的员工

题目地址https://leetcode-cn.com/problems/employees-earning-more-than-their-managers/题目描述:超过经理收入的员工Employee 表包含所有员工,他们的经理也属于员工。每个员工都有一个 Id,此外还有一列对应员工的经理的 Id。+----+-------+--------+-----------+| Id | ...

2019-12-19 10:30:39 202

原创 【每日刷题】查找重复的电子邮箱

题目地址https://leetcode-cn.com/problems/duplicate-emails/题目描述:查找重复的电子邮箱编写一个 SQL 查询,查找 Person 表中所有重复的电子邮箱。示例:+----+---------+| Id | Email |+----+---------+| 1 | [email protected] || 2 | [email protected] || 3 ...

2019-12-17 12:04:22 309

原创 【每日刷题】分数排名

题目地址https://leetcode-cn.com/problems/rank-scores/题目描述:分数排名编写一个 SQL 查询来实现分数排名。如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。+----+-------+| Id | Score |+----+-------+| 1 ...

2019-12-15 18:14:34 274

原创 【每日刷题】翻转字符串里的单词 II

题目地址https://leetcode-cn.com/problems/reverse-words-in-a-string-ii/题目描述:翻转字符串里的单词II给定一个字符串,逐个翻转字符串中的每个单词。示例:输入: [“t”,“h”,“e”," “,“s”,“k”,“y”,” “,“i”,“s”,” ",“b”,“l”,“u”,“e”]输出: [“b”,“l”,“u”,“e”,...

2019-11-25 21:02:45 208

原创 JAVA 对象与类、继承

Java是完全面向对象的。类:构造对象的模版。对象的三个特征:1. 行为;2. 状态;3. 标识。类之间的关系:1. 依赖;2. 聚合;3. 继承。构造器名字与类名相同。...

2019-11-25 13:36:44 167

原创 【每日刷题】最大数

题目地址https://leetcode-cn.com/problems/largest-number/题目描述:最大数给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。示例:例 1:输入: [10,2]输出: 210示例 2:输入: [3,30,34,5,9]输出: 9534330解答如何让两个字符串连接起来后更大?单纯的按照字符串大小排序是不可行的,需要比...

2019-11-23 08:38:50 106

原创 【每日刷题】第N高的薪水

题目地址https://leetcode-cn.com/problems/nth-highest-salary/题目描述:第N高的薪水编写一个 SQL 查询,获取 Employee 表中第 n 高的薪水(Salary)。示例:+----+--------+| Id | Salary |+----+--------+| 1 | 100 || 2 | 200 ||...

2019-11-22 21:03:45 158

原创 面向对象

介绍程序设计方法:面向对象、面向过程。面向对象中,程序 = 对象 + 消息。类是一组具有相同数据结构和相同操作的对象的集合。类名、外部接口、内部实现。对象是计算机内存中的一块区域,是数据结构与算法的封装体。对象是类的实例。封装:将抽象出来的对象的属性和行为结合成一个独立的单位,并隐蔽对象的内部细节。抽象:忽略事物中与当前目标无关的非本质特征,强调与当前目标有关的本质特镇,寻找事物的共性...

2019-11-21 10:35:06 226

原创 嵌入式系统设计知识点温习

嵌入式系统的定义?答:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、提及、功耗严格要求的专用计算机系统。嵌入式系统的软硬件组成以及主要特点?答:软件:bootloader等系统初始化引导程序、设备驱动程序、操作系统、应用程序;采用交叉开发方式,系统软件层次分明,用户调用系统服务,系统调用设备驱动从而操控硬件。硬件:处理器、控制器、电源电路、复位电路...

2019-11-15 22:15:29 838

原创 面向对象C++

第一章1.1 程序设计方法两种重要的程序设计方法:1. 面向过程;2. 面向对象。面向过程:从功能的角度分析问题,将待解决的问题空间分解成若干功能模块,每个功能模块描述一个操作的具体过程。面向过程的一个典型代表是结构化程序设计方法。内聚:模块内各元素(代码与数据)批次结合的紧密程度。耦合:不同模块间的以来紧密程度。结构化程序设计方法的核心:1. 自顶向下、逐步求精的开发方法;2. 模...

2019-11-13 16:32:12 250

原创 【每日刷题】第二高的薪水

题目地址https://leetcode-cn.com/problems/second-highest-salary/题目描述:第二高的薪水编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。示例:+----+--------+| Id | Salary |+----+--------+| 1 | 100 || 2 | 200 |...

2019-11-11 18:22:33 172

原创 【每日刷题】组合两个表

题目地址https://leetcode-cn.com/problems/combine-two-tables/题目描述:组合两个表表1: Person+-------------+---------+| 列名 | 类型 |+-------------+---------+| PersonId | int || FirstName | v...

2019-11-11 09:57:55 124

原创 【每日刷题】地下城游戏

题目地址https://leetcode-cn.com/problems/dungeon-game/题目描述:地下城游戏一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即...

2019-11-11 09:06:22 191

原创 【每日刷题】最大二叉树

题目地址https://leetcode-cn.com/problems/maximum-binary-tree/题目描述:最大二叉树给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下:二叉树的根是数组中的最大元素。左子树是通过数组中最大值左边部分构造出的最大二叉树。右子树是通过数组中最大值右边部分构造出的最大二叉树。通过给定的数组构建最大二叉树,并且输出这个树...

2019-11-10 11:24:37 240

原创 【每日刷题】二叉搜索树中的搜索

题目地址https://leetcode-cn.com/problems/search-in-a-binary-search-tree/题目描述:二叉搜索树中的搜索给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。例如:给定二叉搜索树: 4 / \ 2...

2019-11-10 10:55:50 123

空空如也

空空如也

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

TA关注的人

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