刷题
不忘初心,牢记算法
你怎么看我
不重要
展开
-
有效三角形的个数
给定包含非负整数的数组,你的任务是统计其中可以组成三角形三条边的三元组个数。分析:由数学知识可知,三角形的三边满足三角形中任意两边之和大于第三边、任意两边之差小于第三边,即在△ABC中,a+b>c、a+c>b、b+c>a,因此可以得出一下算法:var triangleNumber = function(num) { var m,n,b,c=0; for(m=0;m<nums.length-1;m++){ for(n=m+1;n<nums.原创 2021-08-04 09:58:24 · 250 阅读 · 0 评论 -
二分查找-剑指offer53-11.0~n-1中缺失的数字
原题:一个长度为n-1的一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。分析:在这个递增排序中,若不缺失数字,第一个数组元素为0,则所有数组元素的值与下标相等,因此只需找出第一个下标不等于元素值得数字,返回这个下标,即得到缺失的数字。为了突出二分查找的效率,特意用了两种方法来解决这个题。方法一:var missingNumber = function(nums) { var m=0原创 2021-08-01 21:38:57 · 201 阅读 · 0 评论 -
字节跳动&力扣 第197场周赛
今天参加了力扣和字节跳动联合举行的周赛,也是第一次参加周赛,一个半小时,一共四个题,只做出来了两个题,第三个题有了一点思路,奈何没时间了,但收获了200枚扣币,也是很开心了!下面是我本次参赛的前两题。题一:好数对的数目这个题目,我的解法是从左往右循环,共两层循环,第一层循环各个元素,第二层从第一层元素的下一个元素相比,判断是否满足nums[i]=nums[j]且i<j这两个条件。这个题是个easy题,用时较少。代码如下: var n=0;//好数对的数目 for(var i=0;i<原创 2020-07-12 19:30:44 · 491 阅读 · 0 评论 -
每日一刷(补)-力扣1323. 6和9组成的最大数字
1323 题目及测试用例我的思路:要翻转一位数字,是该数变为最大的数字,肯定是要把小的数翻转为大的数字,即6翻转为9;要使数字最大,只要把最高位的数字变大就可;综上,我的解题策略如下:①将整数分割成为数组,整数的每一位是数组的一个元素;②从左往右(最高位到最低位)找第一个“6”,将该值变为“9”;③将数组变为字符串,强制类型转换为整数,返回该整数;提交结果:我的代码:var maximum69Number = function(num) { var s = String(num)原创 2020-07-10 08:11:26 · 218 阅读 · 0 评论 -
每日一刷-力扣面试题16.11 跳水板
力扣面试题16.11 跳水板题目:看到这一题,我脑海中想到的就是利用数学知识来解决这一问题。跳水板的长度=(短板的长度×(木板数-i))+长板的长度×(i)(其中i是指长板的数量)当然,这只是一般的情况,还有木板数为0和短板、长板长度一样这两种情况需要讨论,综合起来,主要有三种情况:①当木板数k=0时,此时代表无跳水板,返回空;②当短长板长度一样时,此时只需考虑需要的木板数k,则可能的长度就只有一种情况:木板数k模板长度;③当木板数不为0且短木板长度一样时,使用公式{跳水板的长度=(短板的原创 2020-07-08 15:29:31 · 173 阅读 · 0 评论