自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(169)
  • 资源 (5)
  • 收藏
  • 关注

原创 TypeScript装饰器Decorators(装饰类、类方法(静态方法、成员方法、set/get方法)、属性)

注意target为类的原型,对它进行重新赋值引用无效,可以修改它的属性,但是如果和类中的方法名重名了会被类中的方法名覆盖。和装饰类时运行顺序相同,先从上到下运行装饰函数,再从下到上运行装饰函数的返回内容,其中每次拿到的原型对象以及属性描述符是基于上一次修改后的。先运行装饰函数内容,装饰函数可以接受运行符的参数,再运行装饰函数的返回的函数,其中返回的函数会接受修饰类成员函数的信息。对于静态属性来说是类的构造函数,对于实例属性是类的原型对象(下面示例为类的原型对象)。装饰函数直接接收3个参数,

2024-09-09 09:17:23 935

原创 前端初学java二(类、多态、接口、内部类、泛型)

JDK9新增了private修饰接口中的成员方法,如果修饰的为静态方法,表示只能在该接口中的静态方法中调用,如果修饰的为defautl方法,表示可以在default修饰方法中调用。一个java文件中可以定义多个class类,但只能有一个类是public修饰,而且public修饰的类型必须成为代码文件名(实际开发中建议还是一个文件定义一个class类)。JDK8以后接口中可以用default修饰有方法体中的方法,该方法在实现的类中不需要被重写(如果重写的话类中的该方法不能用default修饰)。

2024-07-02 20:44:58 945

原创 算法题--华为od机试考试(最大坐标值、寻找最富裕的小家庭、两个字符串间的最短路径问题)

每次走只能向右或者向下或者45度斜线,所以f(x,y)=Math.min(f(x+1,y),f(x,y+1),f(x+1,y+1))+1。2.找到arr[y][x]和下一级的联系,即arr[y][x]=Math.min(arr[y-1][x],arr[y][x-1],arr[y-1][x-1])+1。路径为(0,0)->(A,0)->(A,C)->(B,B)->(C,B)->(A,A)->(B,A)->(B,B)->(A,A)->(A,C)第二行为N个空格分隔的数,表示编号1- N 的成员的财富值。

2024-06-25 19:37:54 815

原创 算法题--华为od机试考试(整数对最小和、素数之积、找城市)

例如上图(示例2),我们通过上面遍历方法得出的数组为[1,2,3,2,4,5,4,6,4,2,1]。然后我们将这个数组形成一个环,这样对每个数进行切割后得到的数组内去重后就是一个城市群,例如对2进行切割,可以拿到[1],[3],[4,5,4,6,4],[1]然后由于是环,所以第一个和最后一个是一组,最后去重后就是分组结果[1][3][4,5,6],所以可以得到DPi为3即取[4,5,6]。arr[i][j]表示的为一对元素的和,将二维数组拍平,然后按升序排列,取前k位的和即为满足要求的最小和。

2024-06-22 19:07:42 1118

原创 前端初学java一(java术语、JDK下载、字面量、运算符、程序入口、数组、方法、String、StringBuilder、StringJoiner、ArrayList)

Capacity:返回容器的容量,即上限,但可以无限添加内容,因为不断扩充容量,初始默认容量为16,当添加的内容大于16会扩容(原来的容量*2+2)34,如果扩容后还是不够则将容量扩充到和实际长度相等。java runtime environment,java运行环境,用于运行编译好后的java文件,包括JVM,核心类库,运行工具等,去掉了运行工具中的编译器等。系统会检查改字符串在串池(StringTable,堆内存中的一部分)中是否存在,存在则复用,不存在则创建新的。

2024-06-19 20:24:42 698

原创 算法题--华为od机试考试(开源项目热度榜单、API集群负载统计、分月饼)

找到f(index,sum,down,up)=f(index+1,sum-i,i,Math.min(i+3,sum-i)),其中i从down到up循环,表示为index员工拿到的月饼数。然后相邻的每个员工有一个限制条件,拿到月饼的范围,故可以得出函数的参数f(index,sum,down,up)表示序号为index的员工,sum为剩余的月饼数,这样可以避免每一位依次比较。中秋节,公司分月饼,m个员工,买了n个月饼,m<=n,每个员工至少分1个月饼,但可以分多个,单人分到最多月饼的个数是Max1,

2024-06-16 14:20:18 1127

原创 算法题--华为od机试考试(围棋的气、用连续自然数之和来表达整数、亲子游戏)

2、所有同色棋子的气之和叫作该色棋子的气,需要注意的是,同色棋子重合的气点,对于该颜色棋子来说,只能计算一次气,比如下图中,黑棋一共4口气,而不是5口气,因为黑1和黑2中间红色三角标出的气是两个黑棋共有的,对于黑棋整体来说只能算一个气。方法一:通过遍历加计算,假设有i个数合为目标数n,其中最小的数为m,即m,m+1,m+2,...,m+i-1的和为n,即i*m+1+2+...+i-1=n。1、在棋盘的边缘上的棋子最多有3口气(黑1),在棋盘角点的棋子最多有2口气(黑2),其它情况最多有4口气(白1)

2024-06-07 19:55:36 904

原创 算法题--华为od机试考试(敏感字段加密、寻找身高相近的小朋友、员工派遣)

所以这里需要采用二分法去求解,当总数为n时,不能去往x国家的人数有n/x向下取整,即可以去往x国的人数为n-Math.floor(n/x)。一个一个字符的读取,设置一个标志位,当读到双引号时改变标志位,设置结尾的为双引号,双引号结尾后还原标志位,改为一个下划线结尾。现在,代号为x的国家和代号为y的国家分别需要cntx名和cnty名员工。找到最小的k,使得可以将编号在[1,K]中的员工分配给x国和y国,且满足x国和y国的需求。规则2、编号为x的倍数的员工不能去x国,编号为y的倍数的员工不能去y国。

2024-05-30 09:05:43 1324

原创 算法题--华为od机试考试(执行时长、找数字、数据最节约的备份方法)

例如示例1有5组文件,这里我们先确认3个光盘是否可以装下,用深度遍历去分析,如果可以的话,再确认(1+3)/2=2个光盘。当前这一次等于将x的数据依次放入所有光盘中取或,f(x-1)0表示把x的数据放入0号光盘中,只有有一组可以返回true即表示当前的光盘数量可以装下所有数据。按顺序执行,每次用最多执行的任务个数减去当前的任务个数和上次剩余的个数,如果有剩余的任务未执行就留到下一次,最后将结果转为十进制的数字。有若干个文件,使用刻录光盘的方式进行备份,假设每张光盘的容量是500MB,求使用光盘最小的。

2024-05-25 08:59:28 711

原创 算法题--华为od机试考试(补种未成活胡杨、最大N个数与最小N个数的和、最长广播响应)

即f(start,end)=min(f(start1,end),f(start2,end),f(start3,end)....),这里start1,start2,start3,为start能到的节点。使用双指针指向开头,尾指针向后逐个移动,保证头尾指针之间存在的未种活胡杨树为可补种树,当超过时,头指针向后移动,移动过程中记录窗口的最大长度,直到尾指针移动到最后一个元素结束。等于start能到的所有节点出发的值中最小的一个。网络中的节点互联互通,且节点之间的消息传递有时延,相连节点的时延均为一个时间单位。

2024-05-17 10:49:07 539

原创 算法题--华为od机试考试(组成最大数、第k个排列、最小传输时延)

即f(start,end)=min(f(start1,end)+start-start1,f(start2,end)+start-start2,f(start3,end)+start-start3....),这里start1,start2,start3,为start能到的节点。最后组成结果,例如示例2,所有的排列有1***,2***,3***,4***。=6个数,即排1~6的都是1***的。的时延列表times[i]={u,v,w},其中u表示源节点,v表示目的节点,w表示u和v之间的消息传递时延。

2024-05-14 20:10:22 790

原创 算法题--华为od机试考试(构成的正方形数量、TLV解码、简易内存池)

内存池支持两种操作命令,REQUEST和RELEASE,其格式为:REQUEST=请求的内存大小 表示请求分配指定大小内存,如果分配成功,返回分配到的内存首地址;TLV编码是按[Tag Length Value]格式进行编码的,一段码流中的信元用Tag标识,Tag在码流中唯一不重复,Length表示信元Value的长度,Value表示信元的值。确定2点,以这2点组成正方形的一条边,此时便可以确定正方形的另外两点的位置,有2种情况,需要判断另外2点是满足要求。第一行输入N,N代表坐标数量,N为正整数。

2024-05-13 09:11:01 812

原创 算法题--华为od机试考试(根据某条件聚类最小交换次数、计算面积、连续出牌数量)

游戏开始时玩家从手牌中选取一张卡牌打出,接下来如果玩家手中有和他上一次打出的手牌颜色或者数字相同的手牌,他可以继续将该手牌打出,直至手牌打光或者没有符合条件可以继续打出的手牌。输入为两行,第一行是每张手牌的数字,数字由空格分隔,第二张为对应的每张手牌的颜色,用r y b g这4个字母分别代表4种颜色,字母也由空格分隔。手牌数量不超过10.先找到满足小于K的数量,得到滑动窗口的大小,从左到右滑动窗口,记录窗口中>=K的整数数量即为需要交换的次数,当窗口中>=K的数量最小的时候为最小的交换次数。

2024-04-15 21:02:36 640

原创 算法题--华为od机试考试(IPv4地址转换成整数、关联子串、二叉树的广度优先遍历)

考察进制转换、正则表达式。

2024-03-09 10:01:40 912

原创 算法题--华为od机试考试(字符串筛选排序、非严格递增连续数字序列、最大括号深度)

k如果大于字符串长度,则输出最大ASCII码值的字母所在字符串的位置索引,如果第k个最小ASCII码值的字母存在重复,则输出该字母的最小位置索引。输入一个由n个大小写字母组成的字符串 按照ASCII码值从小到大进行排序规则, 查找字符串中第k个最小ASCII码值的字母(k>=1), 输出该字母所在字符串的位置索引(字符串的第一个位置索引为0)。利用栈先进后出的特性,当栈中无元素时只能入栈左括号,当栈中有元素时,只有左括号能入栈,为右括号时,判断与栈顶元素是否匹配,匹配则记录当前的栈长度为括号的深度。

2024-02-28 09:00:07 954

原创 算法题--华为od机试考试(分苹果、字符串统计及重排、高矮个子排队)

B两个人把苹果分成两堆,A希望按照他的计算规则等分苹果,他的计算规则是按照二进制加法计算,并且不计算进位12+5=9(1100+0101=9),B的计算规则是十进制加法,包括正常进位,B希望在满足A情况下获取苹果重量最多。例如,在示范小队{5,3,1,2,3}中,{5,1,3,2,3}是排序结果。...5,2,3,1,X1,X2,...,假设3前面的都符合要求,这时比较到1了,1与X1比较,当1>X1时,即X1应该和1交换顺序,前面依然符合3>X1,如果X1>1,则不需要变顺序。

2024-02-24 17:06:19 894

原创 算法题--华为od考试(日志排序、最长的顺子、求最多可以派出多少支团队)

例如:3-4-5-6-7-8,7-8-9-10-J-Q,3-4-5-6-7-8-9-10-J-Q-K-A 可用的牌 3

2024-02-05 21:23:07 919

原创 浏览器缓存(Service Worker、Memory Cache、disk Cache、强缓存、协商缓存、Ctr F5、Disable Cache、强缓存假象)详解

2. 某些文件修改非常频繁,比如在秒以下的时间内进行修改,(比方说1s内修改了N次),If-Modified-Since能检查到的粒度是s级的,这种修改无法判断(或者说UNIX记录MTIME只能精确到秒)。作用:每次请求之前,清空缓存,导致请求无缓存可用,并同样地去除浏览器在请求头加上的If-Modified-Since或If-None-Match字段,并加上Pragma: no-cache和Cache-Control: no-cache字段,以便获取最新的资源。如果存在则直接返回;

2024-01-21 12:19:07 1973

原创 DNS域名查询过程

DNS(Domain Names System)域名转IPIP转域名域名域名查询流程浏览器DNS缓存操作系统缓存本地host文件完整流程递归查询迭代查询

2023-12-31 14:42:35 1372

原创 算法题--动态规划(连续子数组的最大和、丑数、n个骰子的点数)

1个骰子时,每个点数的组合数为[1,1,1,1,1,1],概率在组合数上除以6,添加一个骰子,点数为2~12,每个点数的组合数为少一个骰子的组合数加1~6,例如点数5为1+4,2+3,3+2,4+1,即组合数的和为4。首先确定初始值res[0]=f(0),然后找到上下层res[i]和res[i+1]的关系,通过for循环递归解出arr[n]的值,找上下层关系的时候可以去列举res[0],res[1],res[2]...列举初始的前几位,找到对应的关系。输入:[1,-2,3,10,-4,7,2,-5]

2023-08-08 09:37:54 177

原创 算法题--找规律(构建乘积数组、剪绳子、圆圈中最后剩下的数字)

0,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字(删除后从下一个数字开始计数)。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。示例 1:输出:3示例 2:输出:2。

2023-08-02 21:30:00 423

原创 算法题--二叉树(二叉树的最近公共祖先、重建二叉树、二叉搜索树的后序遍历序列)

递归上述步骤直到数组为空。2.确定上下层关系,取序列最后一个节点为根节点,每次根据当前序列,找到第一个大于根节点的,该元素的左边应该全部小于根节点,右边应该全部大于根节点,满足的话对左右两边的序列进行递归,f(x)=f(x.left)&&f(x.right)。注意一些树的节点之间会有大小关系,更方便于解题,例如二叉搜索树,二叉搜索树的左节点(包括其子节点上的值)小于根节点,右节点(包括其子节点上的值)大于根节点。二叉搜索树的左节点(包括其子节点上的值)小于根节点,右节点(包括其子节点上的值)大于根节点。

2023-08-01 21:22:11 226

原创 SQL语句GROUP BY、HAVING、EXISTS、SQL函数(Null判断、日期相关、计算数值和字符串操作 )

GROUP BYHAVINGEXISTSSQL函数Null判断函数日期数据类型及函数计算数值和字符串操作函数AVG(平均值)COUNT(数据条数)FIRST/LAST(第一条数据)MAX/MIN(最大值)SUM(列总和)UCASE/ LCASE (column_name)MID(截取字符串)LEN(字符值的长度)ROUND(数值四舍五入)FORMAT(数据格式转化)FORMAT详细介绍

2023-07-18 20:14:38 679

原创 SQL数据库(设置模式、数据库操作、表操作、列操作、SQL索引/约束、SQL数据类型、SQL函数、常见问题)

SQL数据库设置模式SET NAMES utf-8set sql_safe_updates=1数据库操作CREATE DATABASE databaseName(创建数据库)USE databaseName(选择数据库)DROP DATABASE databaseName(删除数据库)表操作CREATE TABLE(创建表)DROP TABLE(删除表)TRUNCATE TABLE table_name(删除表中数据)添加列删除列修改列JOIN(组

2023-07-17 20:37:33 360

原创 SQL索引、AUTO INCREMENT、SQL约束(not null、unique、primary key、foreign key、check、defalut)

SQL索引创建索引删除索引AUTO INCREMENTMySQLSQL ServerMS AccessOracleSQL约束Not null(非null)创建表时添加约束已有表添加约束DEFAULT(默认值)创建表时添加约束已有表时添加约束撤销约束UNIQUE/CHECK/PRIMARY KEY /FOREIGN KEY约束新建表添加约束(UNIQUE/PRIMARY KEY)单列设置多列设置(命名约束)已有表添加约

2023-07-17 20:12:57 566

原创 前端安全-内容安全策略CSP(Content Security Policy)

可以通过CSP指定策略来规定页面加载的内容来源(这里的内容可以指脚本、图片、iframe、style等等可能的远程的资源)。Content-Security-Policy-Report-Only表示不会限制加载的内容,只是对加载内容不符合策略要求的进行上报,通过HTTP 请求发送到指定URI。可以把指令理解为属性,指令值理解为属性对应的值,一个属性可对应多个值,多值之间以空格分割,属性之间以分号分割。策略集由指令、空格、指令值、分号组成,不同的指令值之间以空格分割,不同指令之间以分号(

2023-03-20 21:55:56 3030 1

原创 算法题-相加为目标数之和(两数之和、三数之和、从数组中取n个数相加为m(不可重复取)、从数组中取任意个数相加为m(可重复取))

相加为目标数之和当为两数、三数之和时,可以通过取出一个数和目标值的差去解决问题,通常会用到hash、双指针等算法去优化题解。当为多数之和时,我们可以采取递归的方法,把n个数和拆为n-1个数和与剩余的一个数去递归。或者用动态规范的方法,找到res[i]的解和res[i-arr[j]]的关系(j表示的是数组中的每一位)最后需要注意在求解的时候是否会有重复的解集存在。

2023-03-15 15:20:57 980

原创 算法题--二叉树(判断是不是平衡二叉树、二叉树的中序遍历、树的子结构、二叉树最大深度、对称二叉树、合并二叉树)

算法题--二叉树(判断是不是平衡二叉树、二叉树的中序遍历、树的子结构、二叉树最大深度、对称二叉树、合并二叉树)

2023-03-10 09:00:32 442

原创 前端面试编程题(异步调度,Promise实现、占用空间大小、渲染虚拟节点、实现for of)

前端面试编程题(异步调度,Promise实现、占用空间大小、渲染虚拟节点、实现for of)

2023-02-24 17:42:55 455

原创 JavaScript易错题(堆栈处理、call函数、原型链题目)

注意obj1.y=obj1 =xxx首先执行的是obj1.y,所以赋值y属性时obj1.y是obj1和obj2的引用,然后先执行的obj1={x:200},此时obj1的引用指向了另外一个对象,而代码中的obj1.y的引用不会变(即现在为obj2的引用),所以y属性添加到obj2中。.call(fn2),故context为fn2,this为call函数(a.b.c()中c函数中的this是b不是a),故result为fn2.call()下面是call原理,fn1.call.call(fn2)相当于。

2023-01-17 20:45:31 226

原创 js垃圾回收(引用计数算法、标记清除算法、v8垃圾回收机制、浏览器性能监控、任务管理器、内存分析、JSBench)

js垃圾回收(引用计数算法、标记清除算法、v8垃圾回收机制、浏览器性能监控、任务管理器、内存分析、JSBench)

2023-01-13 17:13:39 663

原创 git hooks、husky、lint-staged

git hooks、husky、lint-staged

2023-01-09 15:53:59 410

原创 前端格式化工具使用(eslint、stylelint、prettier、lint-staged和husky搭配格式化代码)

例如react中通常eslint检测会报下面错误,可以通过引入eslint-plugin-react插件,然后在rules中添加''react/jsx-users-react':2,'react/jsx-uses-vars':2来开启规则避免报错。注意和eslint不同的是标准的共享配置需要安装,npm install stylelint-config-standard然后在extends中引入 stylelint-config-standard。是一个强大的,现代的代码检查工具,与ESLint类似,

2023-01-09 14:42:43 1462

原创 webpack中模块加载器Loader、插件plugins、optimization属性

webpack中模块加载器Loader、插件plugins、optimization属性

2023-01-06 22:39:30 1159

原创 ReactDom(render、findDOMNode、unmountComponentAtNode)

目录ReactDomrenderfindDOMNodeunmountComponentAtNodereact-dom是React剥离出的涉及DOM操作的部分。render用于将React渲染的虚拟DOM渲染到浏览器DOM。注意有可选参数callback函数,当组件装载完毕时,callback 就会被调用。findDOMNode用于获取真正的DOM元素,以便对DOM节点进行操作。可以传入组件或ref来获取原生dom(ref加在原生dom上,获取到的就是原生dom;ref加在组件上,获取到的是组件实例

2022-12-06 15:25:52 618

原创 函数式编程(纯函数、柯里化、函数组合、函子、接口幂等性)

纯函数可缓存loadsh中memoize缓存函数简单实现副作用示例接口的幂等性函数的柯里化lodsh中的curry方法简单实现lodash中的fp模块函数的组合lodash中的flowRight方法简单实现函子FunctorIO函子其它函子详细介绍

2022-12-05 20:01:33 591

原创 React.useCallback(function,array)使用,React中的函数组件和类组件的取值(快照or最新值)

React.useCallback(function,array)使用,React中的函数组件和类组件的闭包、React.memo、函数组件和类组件中取值快照或最新值、

2022-11-29 18:36:49 1307

原创 React纯组件pureComponent、React.memo(FunComponent,compareFunction)、React.useMemo(callback,array)

React纯组件pureComponent、React.memo(FunComponent,compareFunction)、React.useMemo(callback,array)

2022-11-28 17:29:50 436

原创 css变量(--)、grid布局应用(两栏、三栏、圣杯布局)

css变量(--)、grid布局应用(两栏、三栏、圣杯布局)、gird详解

2022-10-21 17:43:58 608

原创 编码解码(btoa、encodeURIComponent、encodeURI、escape)

window.btoa(str)用于编码形成base-64 编码的字符串。window.atob(str)用于解码使用 base-64 编码的字符串(base64图片下载时候通常需要先解码,然后将解码内容转化为二进制数据下载)。window.encodeURIComponent(str)用于url的组成部分编码,不能用于整个url编码。把字符串作为 URI 组件进行编码。该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ..

2022-07-28 15:33:46 3904

electron框架包

electron框架包

2023-07-20

静态淘宝首页,不包含js版

html+css写的静态淘宝首页,基本相同

2021-01-07

编译原理实验

编译原理实验报告+实验代码(词法分析器+LL(1)词法分析器+LR(1)词法分析器)

2018-07-04

编译原理词法分析器

编译原理词法分析器实现c语言编译原理词法分析器实现c语言

2018-07-04

软件工程习题集

软件工程详细的习题总集加上详细答案解析;软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。

2018-07-04

编译原理考试题目基础总结

《计算机科学丛书:编译原理》全面、深入地探讨了编译器设计方面的重要主题,包括词法分析、语法分析、语法制导定义和语法制导翻译等;考试题目以及概念的总结,典型例题+答案

2018-07-04

空空如也

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

TA关注的人

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