
算法
Delicia_Lani
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
两整数之和-LeetCode371
不使用运算符 + 和 - ,计算两整数 a 、b 之和。两个整数a, b; a ^ b是无进位的相加; a&b得到每一位的进位;让无进位相加的结果与进位不断的异或, 直到进位为0;getSum(a, b) { int sum, carry; sum = a ^ b; //异或这里可看做是相加但是不显现进位,比如5 ^ 3 /*0 1 0 1 0 0 1..原创 2021-01-21 09:56:44 · 156 阅读 · 0 评论 -
【leetcode14题】最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例1:输入: ["flower","flow","flight"]输出: "fl"示例2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写字母a-z。/** * @param {string[]} strs * @return {string} */var longestCommonPrefix...原创 2020-05-31 14:59:55 · 225 阅读 · 0 评论 -
谷歌面试题:两个玻璃球摔碎的楼层高度
给你两个一摸一样的球,这两个球如果从一定的高度掉到地上有可能就会摔碎,当然,如果在这个高度以下往下扔,怎么都不会碎,当然超过这个高度肯定就一定摔碎了。现在已知这个恰巧摔碎高度范围在一层楼到100层楼之间。如何用最少的试验次数,用这两个玻璃球测试出摔碎的楼高。两个球,一个用来粗调,一个用来精调,具体做法是这样的。首先拿第一个球到10层楼去试,如果没有摔碎,就去20层楼,每次增加10层楼。如果...转载 2019-10-25 19:23:24 · 8317 阅读 · 1 评论 -
经典数据结构
目录一、栈1.【栈】判断出栈是否合法2.两个栈实现队列二、链表1.从尾到头打印链表2.反转链表3.单向反转链表三、二叉树递归实现非递归实现中序遍历的前驱后继节点前驱节点后继节点树的深度一、栈1.【栈】判断出栈是否合法var stackA = [1,2,3,4,5]var stackB = [3,1,2,5,4]functio...原创 2019-10-11 21:20:18 · 338 阅读 · 0 评论 -
【编程题】LeetCode第560题,和为K的子数组
给定一个整数数组和一个整数k,你需要找到该数组中和为k的连续的子数组的个数。示例 1 :输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。说明 :数组的长度为 [1, 20,000]。数组中元素的范围是 [-1000, 1000] ,且整数k的范围是[-1e7, 1e7]。方法一:暴力法:超出时间限制...原创 2019-09-04 10:59:35 · 257 阅读 · 0 评论 -
经典写算法
目录一、闭包实现累加二、跳台阶问题三、回文系列:四、js实现阶乘n!(递归形式与for循环形式)五、溢出问题处理六、数组乱序,前后相邻输出不一致七、按照年龄进行分类:八、去重系列九、Eg[1,2,3,4,5] =1*2+2*2+3*2+4*2+5*2=30十、零钱问题十一、二叉树相关十二、链表相关十三、有效的括号十四、两个数组的交集十五、...原创 2019-09-25 17:43:31 · 2483 阅读 · 2 评论 -
和为K的两个数
一、输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。var array = [1,3,5,8,10]var sum = 13function getArray(array, sum) { var result = [] for (var i = 0; i < array.length; i++)...原创 2019-10-03 18:48:34 · 489 阅读 · 0 评论 -
最长公共连续子串序列
给出两个字符串,找出其中连续的公共的子串的长度。var str1 = 'qweasdf'var str2 = 'asdfsfabc'var count = 0function MaxCommonStr(str1, str2) { for (var i = 0; i < str1.length; i++) { for (var j = str1.length; j &...原创 2019-10-08 19:55:32 · 176 阅读 · 0 评论 -
【一题】第105题
const urls = [ "https://www.xx.cn/api?keyword=&level1=&local_batch_id=&elective=&local_province_id=33", "https://www.xx.cn/api?keyword=&level1=&local_batch_id=&elec...原创 2019-10-09 09:46:34 · 126 阅读 · 0 评论 -
最大子序和、最长递增子序列的个数
一、最大子序和给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-subarr...原创 2019-09-02 12:28:49 · 418 阅读 · 0 评论 -
漫画:什么是动态规划?
转自:http://www.sohu.com/a/153858619_466939https://blog.csdn.net/zw6161080123/article/details/80639932转载 2019-07-23 10:07:30 · 207 阅读 · 0 评论 -
牛客网剑指offer66道题(JS实现,部分题目含思路及拓展方法,持续更新)
【题1】二维数组中的查找在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:(1)矩阵是有序的,从左向右递增,从上向下递减; (2)从左下角开始查找,比目标值大的,向上找;比目标值小的,向右找。function Fi...原创 2019-07-12 08:46:01 · 565 阅读 · 0 评论 -
JavaScript实现算法(利用对象求解问题归类)
统计字符串中连续字母数量最多的// \num,匹配num,其中num是一个正整数。对所获取的匹配的引用,“(.)\1”匹配两个连续的相同字符// console.log('aaasdofjaopfjopaiiisjssfopiasdfffff'.match(/(.)\1+/g))var str = 'aaasdofjaopfjopaiiisjssfopiasdfffff'var res...原创 2019-08-01 10:00:44 · 296 阅读 · 0 评论 -
JS能力测评经典题50道(JS实现,部分题目含思路及拓展方法、拓展知识点,持续更新)
【题3】移除数组中的元素移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组。【解一】逆向思维,要求不改变原数组,那就把不相等的元素插入新数组。function remove(arr, item) { if (arr.length === 0) { return arr } else { va...原创 2019-07-12 08:47:20 · 661 阅读 · 0 评论 -
JS实现移除数组中的元素
移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组。【解一】逆向思维,要求不改变原数组,那就把不相等的元素插入新数组。function remove(arr, item) { if (arr.length === 0) { return arr } else { var result = []...原创 2019-07-04 19:57:53 · 2048 阅读 · 0 评论 -
十大排序算法(分类+图示+代码)
稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面;目录一,插入排序二,交换排序三,选择排序四,归并排序(稳定排序):五,基数排序(稳定排序):一,插入排序插入排序的基本思想是通过构建有序序列,将待排序的数据,在已排好序的序列中从后向前扫描,找到其相应位置并进行插入操作。通常采用申请一...原创 2019-06-29 20:54:53 · 540 阅读 · 0 评论 -
[编程题]力扣第9题,回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。reverse() 方法用于颠倒数组中元素的顺序。/** * @param {number} x * @return {boolean} */var isPalindrome = function(x) { if (x < 0 || (x % 10 == 0 &&...原创 2019-04-28 09:47:04 · 424 阅读 · 0 评论 -
[编程题]力扣20题,有效的括号JavaScript实现代码
给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例2:输入: "()[]{}"输出: true示例3:输入: "(]"输出: false...原创 2019-04-24 11:25:13 · 693 阅读 · 0 评论 -
秋招编程题JS实现(参考牛客网已运行成功代码)
【1】俄罗斯方块(网易2019秋招)小易有一个古老的游戏机,上面有着经典的游戏俄罗斯方块。因为它比较古老,所以规则和一般的俄罗斯方块不同。荧幕上一共有 n 列,每次都会有一个 1 x 1 的方块随机落下,在同一列中,后落下的方块会叠在先前的方块之上,当一整行方块都被占满时,这一行会被消去,并得到1分。有一天,小易又开了一局游戏,当玩到第 m 个方块落下时他觉得太无聊就关掉了,小易希望你告诉...原创 2019-08-04 11:00:38 · 246 阅读 · 0 评论