自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MartinChange

越努力越幸福

  • 博客(35)
  • 资源 (1)
  • 收藏
  • 关注

原创 记录Leecode刷题过程

一. 数组数组的遍历统计数组中的元素数组的改变、移动453665283二维数组及滚动数组 118、119、661、598、419数组的旋转 189、396特定顺序遍历二维数组 54、59、498二维数组变换 566、48、73、289前缀和数组 303、304、238原文:有没有人一起从零开始刷力扣...

2021-04-28 15:54:26 93

原创 怎么刻意练习数据结构和算法

第一遍第一步:尽可能的想出所有解法(用时5-10分钟),想不出来看题解吧,不要挣扎了第二步:分析情况,选择最优第三步:写出解答第四步:自己多举例子验证(例子很重要,临界情况,各种情况,例子举的好能检测出来程序中不对的地方)第五步:提交第二遍第一步:提交后可以查看自己前面效率高的代码,抄笔记第二步:中文版的解题思路看看,官方的,个人的都看看第三步:现在有各种版本了,自己不能理解的,能不能理解。自己没想到的,能不能记住第四步:内化成自己的(不管是背,还是使劲背,或者玩命背,反正都变成自己的)

2021-04-21 22:17:23 1388

原创 【数据结构入门】基于对象实现队列

// 基于对象实现class Queue { constructor() { this.queue = {}; this.head = 0; this.foot = 0; } enqueue(item) { this.queue[this.foot] = item; this.foot++; } dequeue() { if (this.isEmpty()) { return; } const val.

2022-05-13 09:22:36 145

原创 【LeetCode】739.每日温度,今天温度升高了吗

暴力破解var dailyTemperatures = function(T) { let res = [] for(let i = 0; i < T.length; i++) { const curr = T[i]; for (let j = i + 1; j < T.length; j++) { if (curr < T[j]) { res.push(j - i); break;

2022-05-11 18:00:03 156

原创 【leetcode】155. 最小栈

设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。

2022-05-10 15:11:18 304

原创 【leetcode】面试题 03.02. 栈的最小值

//leetcode https://leetcode.cn/problems/min-stack-lcci/// 请设计一个栈,除了常规栈支持的pop与push函数以外,还支持min函数,该函数返回栈元素中的最小值。// 执行push、pop和min操作的时间复杂度必须为O(1)。// 示例:// MinStack minStack = new MinStack();// minStack.push(-2);// minStack.push(0);// minStack.push(-3);

2022-05-10 09:19:47 91

原创 【数据结构入门】如果你学不会数据结构,至少看看这个栈

js 使用数组乞丐版实现栈

2022-05-09 23:01:48 362

原创 标准版交易组件报HAS NOT INIT PLUGIN, FAIL START REQUEST,has not init plugin

小程序中添加交易组件时,初始化不能正常点开,点开报这个错误---HAS NOT INIT PLUGIN, FAIL START REQUEST---has not init pluginUnhandled promise rejection Error: has not init plugin经过测试,1.1.26版本能正常使用,后续的版本就报如题的错误,尤其是官方文档指明让使用latest版本,不让更改。官方教程初始化:miniShopPlugin.initApp(this, wx)我是使

2021-08-26 21:08:17 792 2

原创 微信小程序添加交易组件显示【插件未授权使用】

按照官方教程添加交易组件需要在项目中引入【标准版交易组件】,编辑项目根目录的 app.json 文件,示例代码如下:"plugins": { "mini-shop-plugin": { "version": "latest", "provider": "wx34345ae5855f892d" // 必须填标准版交易组件appid,不要修改(复制时请去掉注释) }}使用标准版交易组件的功能,需要进行组件初始化。编辑项目根目录的app.js文件

2021-08-26 16:42:10 5331 3

原创 【简单算法练习】爱因斯坦的阶梯

爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩【分析】我们假设最后的阶梯数是n。每步上2阶,最后剩1阶,可知 n 除以 2 余数是 1。每步上3阶,最后剩2阶,可知 n 除以 3 余数是2 。其余可知: n 除以 5 余数是 4 , n除以 6 余数是 5, n 除以 7余数是 0;你可能立马就能想到,循环查找符合以上条件的数字#include &lt

2021-07-02 09:50:41 2338

原创 排序算法-冒泡排序

var Arr = [3, 5, 74, 64, 64, 3, 1, 8, 3, 49, 16, 161, 9, 4]console.log(Arr, "before");bubbleSort(Arr)console.log(Arr, "after");function bubbleSort(){ let len = Arr.length; for (let i = 0; i < len; i++) { for (let j = 0; j < le

2021-05-27 17:29:00 52

原创 排序算法-快速排序

function partition(arr,left,right){ let pivot = arr[right]; let index = left; for (let i = left; i < right; i++) { if(arr[i] < pivot){ swap(arr,index++,i); } } swap(arr, index, right); return index;}function swap(arr,i,

2021-05-27 17:01:49 66

原创 排序算法-简易桶排序

function sorted(arr){ let result = new Array(11).fill(0); let res = []; for(let i=0; i< arr.length; i++){ result[arr[i]] += 1; } for(let i=0; i< result.length;i++){ for (let j = 0; j < result[i]; j++) { if(result[i] != 0)

2021-05-26 17:46:48 51

原创 字符串匹配

function searchStr(str,c){ let len = str.length; let j = 0; for(let i = 0; i < len;i++ ){ if(str[i] != c[j]){ i = i - j; j = 0; continue; }else{ j++; if(j>=c.length){ ret

2021-05-26 10:55:20 66

原创 [LeetCode] 453. 最小操作次数使数组元素相等

给定一个长度为 n 的 非空 整数数组,每次操作将会使 n - 1 个元素增加 1。找出让数组所有元素相等的最小操作次数。想了3分钟都要看题解了,先把这个写出来试试第一种:将 1 添加到除最大元素之外的所有元素,并增加移动数的计数var minMoves = function (nums) { let result = 0; while(Math.min(...nums) !== Math.max(...nums)){ let max = Math.max(...nums);

2021-04-29 09:36:05 101

原创 【freeCodeCamp Intermediate】Convert HTML Entities

Convert the characters &, <, >, " (double quote), and ’ (apostrophe), in a string to their corresponding HTML entities.function convertHTML(str) { let result = '', map = new Map([ ['&', '&amp;'], ['<', '&lt;'], [

2021-04-26 18:33:17 102

原创 【freeCodeCamp Intermediate】Missing letters 丢失的字母

Find the missing letter in the passed letter range and return it.If all letters are present in the range, return undefined.第一种:function fearNotLetter(str) { let result = undefined; let aaa = 'abcdefghijklmnopqrstuvwxyz' let start = aaa.indexOf(str

2021-04-26 16:36:24 148

原创 【freeCodeCamp Intermediate】DNA Pairing DNA配对

The DNA strand is missing the pairing element. Take each character, get its pair, and return the results as a 2d array.Base pairs are a pair of AT and CG. Match the missing element to the provided character.Return the provided character as the first elem

2021-04-26 16:09:07 111

原创 【freeCodeCamp Intermediate】Search and Replace 查找和替换

Perform a search and replace on the sentence using the arguments provided and return the new sentence.First argument is the sentence to perform the search and replace on.Second argument is the word that you will be replacing (before).Third argument is w

2021-04-26 15:48:37 149

原创 【面试必备】手写数组去重

第一种:var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];var newArr = [...new Set(arr)]console.log(newArr)//[1, "true", true, 15, false, undefined, null, NaN, "NaN", 0, "a", {},

2021-04-25 18:05:48 144

原创 【面试必备】手写数组偏平化

第一种:var arr = [1,[2,[3,[4,{a:1}]]],null,6]var newArr = arr.flat(Infinity)console.log(newArr) // [1, 2, 3, 4, {'a':1}, null, 6]第二种:var arr = [1,[2,[3,[4,{a:1}]]],null,6]var newArr =JSON.parse('['+JSON.stringify(arr).replace(/\[|\]/g,'')+ ']')cons

2021-04-25 18:02:11 81

原创 正则表达式

正则表达式字面量写法语法:var patt=/pattern/modifiers;模式(pattern)描述了一个表达式模型。修饰符(modifiers)描述了检索是否是全局,区分大小写等。例子:var str = 'mjj'var p = /mjj/gvar result = p.test(str)console.log(result)构造函数写法语法:// RegExp regular expressionvar patt=new RegExp(pat

2021-04-25 17:59:19 294

原创 好好学计算机科学

计算机专业有 5 门核心专业课:计算机组成原理计算机操作系统数据结构与算法数据库原理计算机网络设计模式重构方法软件工程

2021-04-25 17:43:37 80

原创 vim退出

退出输入法一定要是英文字母状态,不然退步出来

2021-04-25 17:37:43 70

原创 【freeCodeCamp Intermediate】Seek and Destroy 查找和消灭

You will be provided with an initial array (the first argument in the destroyer function), followed by one or more arguments. Remove all elements from the initial array that are of the same value as these arguments.Note: You have to use the arguments obje

2021-04-25 14:58:26 79

原创 【freeCodeCamp base】Chunky Monkey 拆分数组

Write a function that splits an array (first argument) into groups the length of size (second argument) and returns them as a two-dimensional array.分割数组:将一个数组(第一个参数)分割成一组长度为 size(第二个参数)的数组,然后在一个二维数组中返回这些结果。function chunkArrayInGroups(arr, size) { if (s

2021-04-25 10:29:26 127

原创 【JavaScript实现LeetCode】 283. 移动零

第一步:尽可能的想出所有解法(用时5-10分钟),想不出来看题解吧,不要挣扎了第二步:分析情况,选择最优第三步:写出解答第四步:自己多举例子验证(例子很重要,临界情况,各种情况,例子举的好能检测出来程序中不对的地方)第一种:思路:循环所有元素,遇到0把当前0删掉,数组最后添加上0细节:1.我们用n统计最后添加了几个02.循环的时候,i < array.length-n, 不循环最后添加的03.因为我们获取当前元素用的array[i],所以删除掉当前为0的数时,后一位会前移,所以有.

2021-04-21 16:38:57 85 1

转载 自学计算机科学

自学计算机科学本文档是对TeachYourselfCS内容的中文翻译,原作者为Ozan Onay和Myles Byrne。如需了解翻译相关信息或帮助改进翻译,请参见本文档结尾。This document is a Chinese translation of TeachYourselfCS, which is written by Ozan Onay and Myles Byrne. For more information about this translation, please refer t

2021-04-17 12:35:33 148

原创 git的基本使用

git的基本使用Git是目前世界上最先进的分布式版本控制系统。SVN与Git的最主要的区别?SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就郁闷了。Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的

2021-04-16 17:38:41 49

原创 闲着没事看的视频或者文章

有道云笔记中很多不知道什么时候时候的链接,清空一下,都放到这里方便点击学生问为什么要读书?【万字长文】如何成为一个值钱的职场人?码农翻身:2020年,给大家提7点建议

2021-04-13 21:15:10 55

原创 docker中Nginx的安装和配置

Nginx安装$ docker pull daocloud.io/library/nginxnginx 容器创建$ docker run --name=nginx -p 80:80 -v /app/nginx/www:/usr/share/nginx/html -v /app/nginx/conf.d:/etc/nginx/conf.d -d nginxnginx 默认服务器静态资源目录: /usr/share/nginx/htmlnginx 默认配置文件目录: /etc/ngin

2021-04-13 20:46:29 1328

原创 开启终端小助手Go2Shell

安装说明1,首先下载好程序,然后运行到下面界面下载地址: 点我2 然后将程序拖到下面位置3,然后执行图一下方的install Go2Shell to Finder会多出来一个4 然后把之前拖过去程序移除掉就好了...

2021-04-09 11:48:14 149

原创 一文搞定script脚本加载顺序,说说defer和async

我们先来看一段代码,html中使用script标签引入了script1.js、script1.js和script3.js三个文件。<!DOCTYPE html><html lang="ja"> <head> <meta charset="utf-8"> <title>TEST HTML</title> </head> <script src="script1.js"></sc

2021-03-30 23:15:38 1094

原创 JSON原来这么简单

JSON 是一种轻量级的数据格式,可以方便的表示复杂的数据结构。一个 JSON 文件中可以表示字符串、数值、对象( JSON对象 )、数组、布尔值、null,不可以表示undefined、函数和日期{ "name" : "jingzhao", "age" : 30, "info" : { "weight" : 155 }, "hobbies": [ "read", "eat" ], "marriage" : true, "video" : null}语法简

2021-03-29 17:28:00 118

原创 在wxml中执行复杂运算的方法(处理页面中的值)

在wxml中执行复杂运算的方法工作中遇到一个问题,直播时需要对观看人数进行处理,大于10000的显示1万+,小于一万的正常处理。直接三元运算走起:<view class="total">{{ (total - 0 >= 10000) ? ((total / 10000).toFixed(1) + "万+") : total }}</view>很不幸,微信小程序中 {{ }}仅支持简单运算,无法进行复杂操作,报错了。需要<wxs>出场了。可以在wxml

2021-03-29 13:05:46 373

开启终端小助手Go2Shell

Mac上可以通过这个小助手,愉快的在当前目录下开启终端,避免【cd 】

2021-04-03

空空如也

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

TA关注的人

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