算法题
文章平均质量分 58
zwkkkk1
这个作者很懒,什么都没留下…
展开
-
算法题 —— 寻找明星
前段时间在现场面试的时候碰到的题目,做下总结。题目设定 有 N 个人,其中有1个人是明星,其他 N-1 个人是群众,所有群众都认识明星,明星不认识任何群众,群众的互相认识关系未知,现有一个函数 Boolean recognize(A, B),返回 true 表示 A 认识 B,返回 false 表示 A 不认识 B。设计一个最优算法找出明星(假定这N个人是 arr[N])。 ...原创 2018-05-19 16:47:14 · 1786 阅读 · 0 评论 -
JavaScript 实现四种常见排序算法
介绍4种常见排序算法,将 JavaScript 的实现过程做一个分享:冒泡排序、选择排序、插入排序、快速排序。此处首先定义一个 swap 函数,实现了数组中元素调换的功能,在后面的排序算法都是直接调用这个函数的~//将数组 arr 中下标为 i 和 j 调换位置function swap(arr, i, j) { var temp = arr[j]; arr[j] = a...原创 2018-05-09 17:49:37 · 356 阅读 · 0 评论 -
JavaScript 9种数组去重及性能问题
最近在面试的过程中,碰到了如何在 JavaScript 中实现数组去重的功能,当时面试官说不用考虑性能什么的,所以我想到的思路是这样的:新建一个数组;每次遇到一个字符,进行判定;如果在新的数组中没有这个字符,就插入到这个新数组中;如果有这个字符,开始读取下一个字符;重复步骤 2 - 4,直到数组遍历完了,最后返回这个新数组。 回来之后,查了查 JavaScript 中几种...原创 2018-05-16 15:15:38 · 2716 阅读 · 1 评论 -
【LeetCode with JavaScript】1.Two Sum
原题网址:https://leetcode.com/problems/two-sum/ 难度:Easy题目给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。Example:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 ...原创 2018-05-24 10:11:32 · 667 阅读 · 1 评论 -
【LeetCode with JavaScript】7.Reverse Integer
原题网址:https://leetcode.com/problems/reverse-integer/ 难度:Easy题目给定一个 32 位有符号整数,将整数中的数字进行反转。Example 1:Input: 123Output: 321Example 2:Input: -123Output: -321Example 3:Input: 120Ou...原创 2018-05-24 10:14:19 · 308 阅读 · 0 评论 -
【LeetCode with JavaScript】118. Pascal’s Triangle
@(博文)【LeetCode with JavaScript】118. Pascal’s Triangle原题网址:https://leetcode.com/problems/pascals-triangle 难度:Easy题目给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。Examp...原创 2018-05-24 10:15:40 · 386 阅读 · 0 评论 -
【LeetCode with JavaScript】119. Pascal’s Triangle II
原题网址:https://leetcode.com/problems/pascals-triangle-ii 难度:Easy问题给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。Example:输入: 3输出: [1,3,3,1]Follow up:你可以优化你的算法到 O(k) 空间复杂...原创 2018-05-24 10:17:37 · 345 阅读 · 0 评论 -
【LeetCode with JavaScript】 200. Number of Islands
原题网址:https://leetcode.com/problems/number-of-islands 难度:Medium题目Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surrounded by water and is formed by...原创 2018-05-24 10:18:29 · 511 阅读 · 0 评论 -
【LeetCode with JavaScript】 468. Valiadte IP Address
原题网址:https://leetcode.com/problems/validate-ip-address/ 难度:Medium题目 编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址。 IPv4 地址由十进制数和点来表示,每个地址包含4个十进制数,其范围为 0 - 255, 用(“.”)分割。比如,172.16.254.1; 同时,IPv4 地址内...原创 2018-05-24 10:19:31 · 444 阅读 · 0 评论 -
效率最快的 IPv4 和 IPv6 正则表达式
IPv4 正则规则 IPv4 地址例如,”192.168.0.2“,为 . 分割的4段数字,数字范围为 0 - 255,而我们的正则表达式需要匹配的就是 0 - 255,首先我们对这一区间进行拆分: 1. 0 - 9 只有一位数字,正则表达式:\d; 2. 10 - 99 二位数,十位数1 - 9,个位数 0 - 9,正则表达式:[1-9]\d; 3. 100 - 199,百位数 1,...原创 2018-05-21 14:12:54 · 27413 阅读 · 3 评论 -
js 字符串计算各字母出现次数
最近,做到这样的一道编程题,这里做个总结分享。 问题是:使用 JS 编码,完成一个函数,函数功能是输入字符串,计算各字母出现的次数,以对象的形式输出,例如输入“xyzzyxyz”,得到 {x: 2, y: 3, z: 3}。思路一创建一个目标结果对象(即最后函数返回值,代码中为 result);循环遍历字符串(传入的参数, str),结果对象(result)里存在该字母,...原创 2018-04-28 16:52:50 · 10742 阅读 · 1 评论