1 Gun+ing

学生身份

我要认证

交个朋友

等级
TA的排名 28w+

LeetCode习题集-最长有效括号

题目给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: "(()"输出: 2解释:最长有效括号子串为 "()"。示例 2:输入: ")()())"输出:4解释:最长有效括号子串为 "()()"。对题目的理解: 在一段字符串内需要满足两个条件即有效字符串:1: "(" 和 ")" 的数量相等2: "(" 出现在对应 ")" 的前面。例如:"()(())" 是一个有效字符串,    ")(" 则不是(不满

2020-09-15 10:45:28

Leetcode习题集-股票交易系列

LeetCode股票交易系列一共有6道题,运用贪心思想和动态规划来解题!文章目录题目条件:在主题干下分别加上以下条件分析1) 最多进行 1 笔交易(k=1)【贪心算法实现】2) 不限交易次数【二维 DP】3) 不限交易次数,但有「冷冻期」的额外条件。4) 不限交易次数,但有「手续费」的额外条件5) 最多进行 2 笔交易(k=2)【三维 DP】6) 最多进行 k 次交易题目给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。条件:在主题干

2020-09-09 16:47:48

Leetcode习题集-吃掉N个橘子的最少天数

题目:厨房里总共有 n 个橘子,你决定每一天选择如下方式之一吃这些橘子: 吃掉一个橘子。 如果剩余橘子数 n 能被 2 整除,那么你可以吃掉 n/2 个橘子。 如果剩余橘子数 n 能被 3 整除,那么你可以吃掉 2*(n/3) 个橘子。每天你只能从以上 3 种方案中选择一种方案。请你返回吃掉所有 n 个橘子的最少天数。 示例 1:输入:n = 10输出:4解释:你总共有 10 个橘子。第 1 天:吃 1 个橘子,剩余橘子

2020-09-01 21:36:36

Leetcode习题集-黑名单中的随机数

题目:给定一个包含 [0,n ) 中独特的整数的黑名单 B,写一个函数从 [ 0,n ) 中返回一个不在 B 中的随机整数。对它进行优化使其尽量少调用系统方法 Math.random() 。提示:1 <= N <= 10000000000 <= B.length < min(100000, N)[0, N) 不包含 N,详细参见 interval notation 。示例 1:输入:[“Solution”,“pick”,“pick”,“pick”][[1,[]],

2020-08-31 21:07:16

快速上手Java泛型

文章目录一、泛型主要用法1 泛型类2 泛型方法3 限定泛型类型变量4 通配符二、为啥用泛型三、泛型的局限性一、泛型主要用法1 泛型类Pair 类引人了一个类型变量 T,用尖括号 ( < >) 括起来,并放在类名的后面。public class Pair<T>泛型类可以有多个类型变量。例如, 可以定义 Pair 类,其中第一个域和第二个域使用不同的类型:public class Pair<T, U> { . . . } 类定义中的类型变量指定方法的返

2020-08-31 17:13:08

Git命令清晰图解

Git是目前世界上最先进的分布式版本控制系统远程仓库Remote、本地仓库Repository、工作区workspace、暂存区index等概念介绍。远程仓库:作为代码的远程托管平台,列如github、gitlab等。本地仓库:我们自己本地储存的一份代码,将远程代码fetch/clone后就会到本地仓库。工作区:我们可以看到的和修改的就是工作区代码,通过切换本地仓库分支,该分支的代码就会加载到工作区。暂存区:暂存区,或者叫待提交更新区,在提交进入Repository之前,我们可以把所有的更新放在

2020-08-24 12:55:13

适合新手的Java并发基础知识

初识Java并发有互相关注的没,交个朋友文章目录初识Java并发一、什么是线程二、如何中断线程三、认识线程状态四、认识线程属性五、同步处理六、阻塞队列七、Callable 与 Future八、执行器九、同步器一、什么是线程多线程程序在较低的层次上扩展了多任务的概念:一个程序同时执行多个任务。通常,每一个任务称为一个线程(thread)。多进程与多线程有哪些区别呢?本质的区别在于每个进程拥有自己的一整套变量, 而线程则共享数据。二、如何中断线程1 正常运行结束2 interrupt 方法

2020-08-18 21:48:10

史上最全正则表达式总结

1.正则表达式正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的。正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。1.1 普通字符由所有那些未显..

2020-08-12 12:56:27

git遇到错误Failed to connect to 127.0.0.1 port 1080: Connection refused

git pull拉代码时遇到如下错误:网上搜索说是代理导致的,于是输入如下命令取消代理:git config --global --unset http.proxygit config --global --unset https.proxy但是依然报错,如下图所示:后来发现该项目中的代理设置并未取消!解决方法为:1.进入该项目的.git文件夹(可能是隐藏的,需要打开显示隐藏文件设置)。2.找到config文件。3.删除config文件中的http部分内容。4.再执行git pu

2020-05-15 11:16:02

数据结构与算法学习之第二天

线性表:由0或多个数据元素组成的有限序列。ADT 线性表Data 一对一的数据OperationInitList:初始化ListEmpty:判断是否为空ClearList:清空GetElem:将线性表L中的第i个位置元素值返回给eLocateElem:在线性表中查找其可能存在的元素的序号ListInsert:插入元素ListDelete:删除元素ListLength:线性表长...

2020-03-29 11:06:49

数据结构与算法学习之第一天

本文内容较为简洁,适合学过的同学进行回顾。程序设计 = 数据结构+算法数据结构:就是关系,数据之间关系的集合。分为:逻辑结构和物理结构逻辑结构:数据元素的相互关系。1.集合结构:集合中数据无相互关系2.线性结构:一对一关系3.树形关系:一对多关系4.图形结构:多对多关系物理结构:逻辑结构在计算机中的存储形式即数据元素存储方式:1.顺序存储结构:如数组,是把元素存放在地址连续的...

2020-03-24 22:53:26

钉钉小程序快速上手

语言类似于vue,建议先学习vue。小程序分为 app 和 page 两层。app 用来描述整体程序,page 用来描述各个页面。1.App代表顶层应用,管理所有页面和全局数据,以及提供生命周期方法。(1)app.js:应用逻辑(2)app.acss:应用样式(可选)(3)app.json:应用配置:就是配置路由的地方App 提供四个事件,可以设置钩子方法。(1)onLaunch:小...

2019-12-31 17:56:06

threejs动画时间与帧率的关系

每一帧动画与animationclip.time时间相对应,当使用animation.mixer.updata()更新位置时,mixer.time和cilp.time的时间也随之更新;同样地,当改变时间时,位置也同样相应更新。不过update会立马更新位置,而改变时间只有在update的时候才会立马更新到该时间位置。...

2019-11-13 20:10:02

threejs学习之透视相机与正交相机

three.js学习之透视相机与正交相机透视相机和正交相机的原理都是将可视范围内的物体投影到一个平面,我们在浏览器上所看到的就是这个投影平面,这个平面也就是我们设置相机时,far属性所在的那一个横截面。透视相机和正交相机的区别就是可视体的设置方法不同,透视相机的可视体是一个四锥体,而正交相机是一个长方体;透视相机由四锥体投影到一个平面时,相同大小的网格离上顶面越近投影到far横截面自然...

2019-11-11 21:28:08

WebWorker简介

导航什么是WebWorker为什么要使用WebWorkerWebWorker兼容性如何WebWorker能用来做什么如何使用WebWorkerimportScripts.WebWorker的其他类型介绍1.什么是WebWorkerWebWorker是运行在后台的javascript,独立于其他脚本,不会影响页面的性能。您可以继续做任何愿意做的事情。点击选取内容等等,而此时...

2019-10-20 23:27:42

three.js动画(Animation)

导航一、three.js的动画解析基本流程二、各部分功能介绍三、threejs的动画类型四、threejs对动画的处理过程一、three.js的动画解析基本流程var mesh; //导出外部文件获得// 新建一个AnimationMixer, 并取得AnimationClip实例列表var mixer = new THREE.AnimationMixer( mesh );v...

2019-10-17 21:47:15

搭载本地服务器

主要是为了解决浏览器无法跨域访问的问题步骤1.下载Node.js 并安装2.验证是否安装成功控制台输入:node -v3.运行npm install anywhere -g来安装anywhere注意:如果出现fetchMetadata: sill resolveWithNewModule anywhere@1.5.0 checking in在网上找了一些原因,才发现后面的URL地...

2019-10-13 21:36:52

three.js材质大全

three.js材质大全目录材质(Material)MeshBasicMaterialMeshDepthMaterialMeshDistanceMaterialMeshMatcapMateriaMeshNormalMaterialMeshFaceMaterialMeshLambertMaterialMeshPhongMaterialMeshToonMaterialMesh...

2019-10-11 21:25:01

three.js网格加载原理

如下代码所示,每当我们运用three.js创建一个网格时,网格的构造方法中都会自动生成一个object3D对象,可以看出,所有的网格底层其实都是一个object3D对象。创建完object3D对象之后再把对象类型改为type,将我们之前定义好的集合体(geometry)和材质(material)赋值给这个object3D对象,也就是现在的Mech对象。至此,网格加载完成,进行更新。THREE...

2019-10-07 08:31:43

three.js中的object3D对象

下面是object3D对象的构造方法,在该方法下我们可以清楚的看到一个object3D对象的构造过程。接下来按源码顺序具体解释一下每个属性和对象方法:Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。uuid是Universally Unique Identifier的缩写,它是在一定的范围内(从特定的名字空间...

2019-10-07 08:40:38

查看更多

勋章 我的勋章
  • 签到王者
    签到王者
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 分享达人
    分享达人
    成功上传6个资源即可获取