算法
独酌101112
热爱前端的一个小白
展开
-
JS求树的深度
学无止境const root = { val: 4, left: { val: 2, left: { val: 1 }, right: { val: 3 } }, right: { val: 5, right: { val: 6, righ原创 2020-10-12 21:30:53 · 855 阅读 · 0 评论 -
笔试合集7
题目描述:计算n!末尾包含0的个数。具体描述记不太清了,因为是在线编程,不允许使用本地的代码编辑器,还是比较难受的,话不多说,先上代码:function foo(n) { if(n<0){ return "Error"; } else if(n>=0 && n<5){ return 0; } else { var arr = [0,0,0,0,0,0]; for(var i=6;i&原创 2020-09-25 21:54:23 · 85 阅读 · 2 评论 -
查找两个数组相同元素
攒RP ing一场面试的一道算法题,题目如下:有两个升序的数组,在这两个数组里面有且只有一个相同的元素,考虑时间和空间复杂度,找到该元素,禁用JS中所有方法,单纯算法题(emmmmm,为何和我之前的不一样)话不多说,上代码,我真是越来越喜欢动手敲一下了:function foo(arr_1, arr_2) { var j =0; for(var i=0;i<arr_1.length;i++){ if(arr_1[i] === arr_2[j]){原创 2020-09-16 17:16:36 · 1876 阅读 · 0 评论 -
网易刷题 字符串碎片
一个由小写字母组成的字符串可以看成一些同一字母的最大碎片组成的。例如,"aaabbaaac"是由下面碎片组成的:‘aaa’,‘bb’,‘c’。牛牛现在给定一个字符串,请你帮助计算这个字符串的所有碎片的平均长度是多少。输入描述:输入包括一个字符串s,字符串s的长度length(1 ≤ length ≤ 50),s只含小写字母(‘a’-‘z’)输出描述:输出一个整数,表示所有碎片的平均长度,四舍五入保留两位小数。如样例所示: s = “aaabbaaac”所有碎片的平均长度 = (3 + 2原创 2020-08-08 09:56:02 · 176 阅读 · 0 评论 -
网易刷题 魔法币
小易准备去魔法王国采购魔法神器,购买魔法神器需要使用魔法币,但是小易现在一枚魔法币都没有,但是小易有两台魔法机器可以通过投入x(x可以为0)个魔法币产生更多的魔法币。魔法机器1:如果投入x个魔法币,魔法机器会将其变为2x+1个魔法币魔法机器2:如果投入x个魔法币,魔法机器会将其变为2x+2个魔法币小易采购魔法神器总共需要n个魔法币,所以小易只能通过两台魔法机器产生恰好n个魔法币,小易需要你帮他设计一个投入方案使他最后恰好拥有n个魔法币。输入描述:输入包括一行,包括一个正整数n(1 ≤ n ≤ 1原创 2020-08-08 09:40:35 · 102 阅读 · 0 评论 -
美团刷题 代金券组合
近期某商场由于周年庆,开启了“0元购”活动。活动中,消费者可以通过组合手中的代金券,实现0元购买指定商品。聪明的小团想要用算法来帮助他快速计算:对于指定价格的商品,使用代金券凑出其价格即可,但所使用的代金券总面额不可超过商品价格。由于代金券数量有限,使用较少的代金券张数则可以实现价值最大化,即最佳优惠。假设现有100元的商品,而代金券有50元、30元、20元、5元四种,则最佳优惠是两张50元面额的代金券;而如果现有65元的商品,则最佳优惠是两张30元代金券以及一张5元代金券。请你帮助小团使用一段代码来原创 2020-08-07 17:03:29 · 1693 阅读 · 0 评论 -
JS实现HashMap解决数组问题
字节跳动 前端笔试题给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。常规思路:var arr = [1, 2, 3, 4, 5];var target = 7;function f(arr, target) { for(let i = 0;i < arr.length-1;i++){ for(let j = i+1;j < arr.length;j++){ i原创 2020-07-21 11:51:57 · 3469 阅读 · 0 评论 -
数据结构-树-遍历合集
#include <stdio.h>#include <string.h>#include <algorithm>#include <iostream>using namespace std;char a[100];int shu;struct node{ int data; struct node *l, *r;...原创 2020-04-01 22:16:11 · 111 阅读 · 0 评论 -
腾讯刷题 视野争夺
小Q在进行一场竞技游戏,这场游戏的胜负关键就在于能否能争夺一条长度为L的河道,即可以看作是[0,L]的一条数轴。这款竞技游戏当中有n个可以提供视野的道具−真视守卫,第i个真视守卫能够覆盖区间[xi,yi]。现在小Q想知道至少用几个真视守卫就可以覆盖整段河道。输入描述:输入包括n+1行。第一行包括两个正整数n和L(1<=n<=105,1<=L<=109)接下来的n行...原创 2020-03-29 18:02:45 · 774 阅读 · 0 评论 -
腾讯刷题 假期
由于业绩优秀,公司给小Q放了 n 天的假,身为工作狂的小Q打算在在假期中工作、锻炼或者休息。他有个奇怪的习惯:不会连续两天工作或锻炼。只有当公司营业时,小Q才能去工作,只有当健身房营业时,小Q才能去健身,小Q一天只能干一件事。给出假期中公司,健身房的营业情况,求小Q最少需要休息几天。输入描述:第一行一个整数 表示放假天数第二行 n 个数 每个数为0或1,第 i 个数表示公司在第 i 天是否...原创 2020-03-29 11:34:09 · 567 阅读 · 0 评论 -
腾讯刷题 逛街
小Q在周末的时候和他的小伙伴来到大城市逛街,一条步行街上有很多高楼,共有n座高楼排成一行。小Q从第一栋一直走到了最后一栋,小Q从来都没有见到这么多的楼,所以他想知道他在每栋楼的位置处能看到多少栋楼呢?(当前面的楼的高度大于等于后面的楼时,后面的楼将被挡住)输入描述:输入第一行将包含一个数字n,代表楼的栋数,接下来的一行将包含n个数字wi(1<=i<=n),代表每一栋楼的高度。1...原创 2020-03-28 17:44:10 · 307 阅读 · 1 评论 -
腾讯刷题 压缩算法
小Q想要给他的朋友发送一个神秘字符串,但是他发现字符串的过于长了,于是小Q发明了一种压缩算法对字符串中重复的部分进行了压缩,对于字符串中连续的m个相同字符串S将会压缩为m|S,例如字符串ABCABCABC将会被压缩为[3|ABC],现在小Q的同学收到了小Q发送过来的字符串,你能帮助他进行解压缩么?输入描述:输入第一行包含一个字符串s,代表压缩后的字符串。S的长度<=1000;S仅包含...原创 2020-03-27 22:18:20 · 616 阅读 · 0 评论 -
数据结构-树-遍历
已知二叉树的一个按先序遍历输入的字符序列,如abc,de,g,f, (其中,表示空结点)。请建立二叉树并按中序和后序的方式遍历该二叉树。Input连续输入多组数据,每组数据输入一个长度小于50个字符的字符串。Output每组输入数据对应输出2行:第1行输出中序遍历序列;第2行输出后序遍历序列。Sample Inputabc,de,g,f,Sample Outputcbeg...原创 2020-03-12 20:39:37 · 108 阅读 · 0 评论 -
数据结构-图-弗洛伊德算法
做为一个资深驴友,小新有一张珍藏的自驾游线路图,图上详细的标注了全国各个城市之间的高速公路距离和公路收费情况,现在请你编写一个程序,找出一条出发地到目的地之间的最短路径,如果有多条路径最短,则输出过路费最少的一条路径。Input连续T组数据输入,每组输入数据的第一行给出四个正整数N,M,s,d,其中N(2 <= N <= 500)是城市数目,城市编号从0~N-1,M是城市间高速公路...原创 2020-03-11 11:38:53 · 235 阅读 · 0 评论 -
数据结构-图-迪杰特斯拉算法
Problem Description当前农村公路建设正如火如荼的展开,某乡镇政府决定实现村村通公路,工程师现有各个村落之间的原始道路统计数据表,表中列出了各村之间可以建设公路的若干条道路的成本,你的任务是根据给出的数据表,求使得每个村都有公路连通所需要的最低成本。Input连续多组数据输入,每组数据包括村落数目N(N <= 1000)和可供选择的道路数目M(M <= 3000)...原创 2020-03-08 20:23:44 · 459 阅读 · 0 评论 -
数据结构-图-DFS
请定一个无向图,顶点编号从0到n-1,用深度优先搜索(DFS),遍历并输出。遍历时,先遍历节点编号小的。Input输入第一行为整数n(0 < n < 100),表示数据的组数。 对于每组数据,第一行是两个整数k,m(0 < k < 100,0 < m < k*k),表示有m条边,k个顶点。 下面的m行,每行是空格隔开的两个整数u,v,表示一条连接u,v顶点的无向边。Output...原创 2020-03-08 13:41:30 · 343 阅读 · 0 评论 -
数据结构-图-BFS
Problem Description给定一个无向连通图,顶点编号从0到n-1,用广度优先搜索(BFS)遍历,输出从某个顶点出发的遍历序列。(同一个结点的同层邻接点,节点编号小的优先遍历)Input输入第一行为整数n(0< n <100),表示数据的组数。对于每组数据,第一行是三个整数k,m,t(0<k<100,0<m<(k-1)*k/2,0< t<k),表示有m条边,k个顶点...原创 2020-03-08 13:14:01 · 243 阅读 · 0 评论 -
字节跳动刷题 动态规划
我叫王大锤,是一名特工。我刚刚接到任务:在字节跳动大街进行埋伏,抓捕恐怖分子孔连顺。和我一起行动的还有另外两名特工,我提议我们在字节跳动大街的N个建筑中选定3个埋伏地点。为了相互照应,我们决定相距最远的两名特工间的距离不超过D。我特喵是个天才! 经过精密的计算,我们从X种可行的埋伏方案中选择了一种。这个方案万无一失,颤抖吧,孔连顺!……万万没想到,计划还是失败了,孔连顺化妆成小龙女,...原创 2020-03-06 11:40:19 · 716 阅读 · 0 评论 -
字节跳动刷题 字符串处理&vector
我叫王大锤,是一家出版社的编辑。我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误。但是,优秀的人总能在平凡的工作中发现真理。我发现一个发现拼写错误的捷径:三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> hello两对一样的字母(AABB型)连在一起,一定是拼写错误,去掉第二对的一个字母就好啦:比如 helloo ->...原创 2020-03-05 18:59:57 · 279 阅读 · 0 评论