算法
文章平均质量分 83
众乐-Ryan
字节gip前端业务架构团队
展开
-
网上看到的腾讯面试笔试题部分解析
对于面试腾讯的几道算法方面的笔试题分享如下,供大家参考:1、给一个无重复整数数组, 找到其中包含最多连续数的子集,比如给:15, 7, 12, 6, 14, 13, 9, 11,则返回: [11, 12, 13, 14, 15] 。2、 倒转一个字符串,要求要在原字符串上执行,并且效率最高,如输入"abc",输出“cba”,输入"abcd",输出"dcba"。3、给定一个整数,求出其中原创 2014-04-27 22:18:38 · 1467 阅读 · 0 评论 -
最长回文的五种实现(js代码实现)
题目给定字符串,找到它的最长回文子串,都有哪些思路呢?例如"adaiziguizhongrenenrgnohziugiziadb",回文字串很多了,但最长的是"daiziguizhongrenenrgnohziugiziad"。解题思路思路1:暴力法,外面的两层循环找到所有子串,第三层循环判断子串是否是回文。方法的时间复杂度为O(n^3),空间复杂度为O(1)。代码实现:原创 2014-09-23 14:46:46 · 7185 阅读 · 0 评论 -
HTML5 canvas创建粒子效果
原文地址:http://modernweb.com/2014/06/25/creating-particles-in-html5-canvas/翻译 2014-07-25 00:33:47 · 5622 阅读 · 0 评论 -
谈谈含复杂数据类型的数组去重问题
数组去重是一个老生常谈的问题。平常的处理可能只是对原创 2014-07-03 01:21:06 · 2311 阅读 · 2 评论 -
程序员必须知道的10大基础实用算法及其讲解(Javascript代码实现)
注:本文的文字解释部分并非原创,原创 2014-06-25 20:45:46 · 6015 阅读 · 1 评论 -
133行代码实现质感地形(js,基于canvas)
写于2014年5月5日作为程序员,翻译 2014-05-20 19:37:46 · 2200 阅读 · 0 评论 -
经典面试题分析之归并排序的实现(js实现)
题目: 有两个已经排好序的数组,如何将这两个数组合并且合并后的数组仍然是有序的?试题分析: 这一道题目是一位同学和大家分享的他去百度面试web前端开发的职位时面试官问道的一道算法题目。看起来貌似和我们的题目没有关系,但是如果你知道归并排序的核心实现你应该能立马反应过来。如果你不知道也没有关系,在我们下面的一番分析之后你应该就能明白了。其实解决一些算法问题的途径有原创 2014-04-27 22:41:59 · 1002 阅读 · 0 评论 -
经典面试题分析之Google搜索之星(js实现)
题目:给你一天Google搜索日志,你怎么设计算法找出是否有一个搜索词,它出现的频率占所有搜索的一半以上?如果肯定一个搜索词占大多数,你能怎么提高你的算法找到它,再假定搜索日志就是内存中的一个数组,能否有O(1)的空间,O(n)时间的算法?题目分析:如果没有O(1)的空间,O(n)时间的要求的话我们可以有很多的办法来解决这个问题,比如可以用排序方法将数组排序后然后再找出其中位数即是我们原创 2014-04-27 22:36:31 · 793 阅读 · 0 评论 -
JS实现大数(整数)相乘
大数,即超出语言所能表示的数字最大范围的数字,此时的数字只能用字符串来表示。那么如何实现两个大数相乘呢?我用JS实现了一下,代码如下:console.log(bigMut("567", "1234")); // 699678function bigMut(big, common) { big += ""; common += ""; if (big.length < common.le原创 2014-04-27 22:25:03 · 5275 阅读 · 1 评论 -
js实现几个算法题
题目:给定一个字符串,仅由a,b,c 3种小写字母组成。当出现连续两个不同的字母时,你可以用另外一个字母替换它,如 有ab或ba连续出现,你把它们替换为字母c; 有ac或ca连续出现时,你可以把它们替换为字母b; 有bc或cb 连续出现时,你可以把它们替换为字母a。 你可以不断反复按照这个规则进行替换,你的目标是使得最终结果所得到的字符串尽可能短,求最终结果的最短长度。 输入:字符串。长度原创 2014-04-27 22:24:01 · 1612 阅读 · 2 评论 -
JS实现计算最少回文切割数
// 获取所有的子串回文情况 function getP(str){ var len = str.length, gap = '_'; var p = {}; var i,j,L; // 只有一个字符的情况是回文 for( i =0;i<len;i++){ p[i+gap+i] = true; } // L是i和j之间的间隔数(因为间隔数从小到大渐增,所以原创 2014-09-15 08:47:24 · 1060 阅读 · 0 评论