
算法
cellinlab
这个作者很懒,什么都没留下…
展开
-
LeetCode_Reverse Integer_ 0x3
Reverse Integer Given a 32-bit signed integer, reverse digits of an integer.Example 1:Input: 123Output: 321Example 2:Input: -123Output: -321Example 3:Input: 120Output: 21N...原创 2018-12-04 20:39:42 · 214 阅读 · 0 评论 -
JavaScript基础算法——凯撒密码Caesar cipher
要求:凯撒密码Caesar cipher,又叫移位密码。移位密码也就是密码中的字母会按照指定的数量来做移位。一个常见的案例就是ROT13密码,字母会移位13个位置。由'A' ↔ 'N', 'B' ↔ 'O',以此类推。写一个ROT13函数,实现输入加密字符串,输出解密字符串。所有的字母都是大写,不要转化任何非字母形式的字符(例如:空格,标点符号),遇到这些特殊字符,跳过它们。...原创 2019-03-04 09:47:33 · 1761 阅读 · 0 评论 -
数据结构复习 0x0 基础
逻辑结构与物理结构逻辑结构:集合结构、线性结构、树形结构、图形结构物理结构:顺序存储结构、链式存储结构数据类型:一组性质相同的值的集合及定义在此集合上的一些操作的总称。抽象数据类型(ADT,Abstract Data Type):是指一个数学模型及定义在该模型上的一组操作。算法:解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。算法...原创 2019-03-11 10:43:47 · 171 阅读 · 0 评论 -
算法练习 0x0 二分查找、选择排序、快速排序、广度优先搜索
二分查找def binary_search(list,item): low = 0 high = len(list)-1 while low <= high: mid = (low+high)/2 guess = list[mid] if guess == item: return mid...原创 2019-03-23 14:14:01 · 251 阅读 · 0 评论 -
数据结构复习 0x1 总体概览
数据结构:算法:原创 2019-03-19 09:55:48 · 168 阅读 · 0 评论 -
算法练习 0x1 最短路径、贪婪算法
迪杰斯特拉算法 不能将迪杰斯特拉算法用于包含负权边的图。可以用贝尔曼-福德算法。# coding=UTF-8graph = {}#路径及权重graph["start"] = {}graph["start"]["a"] = 6graph["start"]["b"] = 2graph["a"] = {}graph["a"]["fin"] = 1graph["b"] =...原创 2019-03-23 16:37:22 · 198 阅读 · 0 评论 -
JavaScript基础算法——Spinal Tap Case 以连字符连接所有小写单词
要求将字符串转换为 spinal case。Spinal case 是 all-lowercase-words-joined-by-dashes 这种形式的,也就是以连字符连接所有小写单词。样本spinalCase("This Is Spinal Tap")应该返回"this-is-spinal-tap"。spinalCase("thisIsSpinalTap")应该返回"t...原创 2019-04-04 09:42:11 · 295 阅读 · 0 评论 -
JavaScript基础算法——Sum All Odd Fibonacci Numbers 斐波那契数列奇数和
要求给一个正整数num,返回小于或等于num的斐波纳契奇数之和。斐波纳契数列中的前几个数字是 1、1、2、3、5 和 8,随后的每一个数字都是前两个数字之和。例如,sumFibs(4)应该返回 5,因为斐波纳契数列中所有小于4的奇数是 1、1、3。样本sumFibs(1)应该返回一个数字。sumFibs(1000)应该返回 1785。sumFibs(4000000)...原创 2019-04-04 11:00:17 · 267 阅读 · 0 评论 -
JavaScript基础算法——Diff Two Arrays
要求:比较两个数组,然后返回一个新数组,该数组的元素为两个给定数组中所有独有的数组元素。换言之,返回两个数组的差异。样本:diff([1, 2, 3, 5], [1, 2, 3, 4, 5])应该返回一个数组。["diorite", "andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "ande...原创 2019-03-27 08:45:58 · 793 阅读 · 0 评论 -
JavaScript基础算法——Roman Numeral Converter(阿拉伯数转换罗马数字)
要求:将给定的数字转换成罗马数字。所有返回的 罗马数字 都应该是大写形式。样本:convert(2)应该返回 "II"。convert(3)应该返回 "III"。convert(4)应该返回 "IV"。convert(5)应该返回 "V"。convert(9)应该返回 "IX"。convert(12)应该返回 "XII"。convert(16)...原创 2019-03-27 10:20:58 · 878 阅读 · 0 评论 -
JavaScript基础算法——DNA Pairing 基因配对多种解法
要求DNA 链缺少配对的碱基。依据每一个碱基,为其找到配对的碱基,然后将结果作为第二个数组返回。Base pairs(碱基对) 是一对 AT 和 CG,为给定的字母匹配缺失的碱基。在每一个数组中将给定的字母作为第一个碱基返回。例如,对于输入的 GCG,相应地返回 [["G", "C"], ["C","G"],["G", "C"]]字母和与之配对的字母在一个数组内,然后所有数组再...原创 2019-04-03 19:18:53 · 644 阅读 · 0 评论 -
JavaScript基础算法——数组排序并找出元素索引
要求:先给数组排序,然后找到指定的值在数组的位置,最后返回位置对应的索引。举例:where([1,2,3,4], 1.5) 应该返回 1。因为1.5插入到数组[1,2,3,4]后变成[1,1.5,2,3,4],而1.5对应的索引值就是1。同理,where([20,3,5], 19) 应该返回 2。因为数组会先排序为 [3,5,20],19插入到数组[3,5,20]后变成[3,5,19,...原创 2019-03-04 08:40:49 · 1063 阅读 · 0 评论 -
JavaScript基础算法——摧毁数组
要求:实现一个摧毁(destroyer)函数,第一个参数是待摧毁的数组,其余的参数是待摧毁的值。样本:destroyer([1, 2, 3, 1, 2, 3], 2, 3)应该返回[1, 1].destroyer([1, 2, 3, 5, 1, 2, 3], 2, 3)应该返回[1, 5, 1].destroyer([3, 5, 1, 2, 2], 2, 3, 5)应...原创 2019-03-03 12:25:20 · 245 阅读 · 0 评论 -
JavaScript基础算法——过滤数组假值
要求:删除数组中的所有假值。在JavaScript中,假值有false、null、0、""、undefined 和 NaN。样本:bouncer([7, "ate", "", false, 9])应该返回 [7, "ate", 9].bouncer(["a", "b", "c"]) 应该返回 ["a", "b"原创 2019-02-26 11:59:23 · 715 阅读 · 0 评论 -
LeetCode_Two Sum_0x1
Two SumGiven an array of integers, returnindicesof the two numbers such that they add up to a specific target.You may assume that each input would haveexactlyone solution, and you may not u...原创 2018-12-01 20:40:57 · 244 阅读 · 0 评论 -
LeetCode_Add Two Numbers_ 0x2
目录 Description:Example:Solution:Submission: Summary:Description:Add Two NumbersYou are given two non-empty linked lists representing two non-negative integers. The digits are stored ...原创 2018-12-03 13:56:29 · 167 阅读 · 0 评论 -
JavaScript基础算法——检查回文字符串
要求:如果给定的字符串是回文,返回true,反之,返回false。如果一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文)。注意你需要去掉字符串多余的标点符号和空格,然后把字符串转化成小写来验证此字符串是否为回文。函数参数的值可以为"racecar","RaceCar"和"race CAR"。样本:palindrome...原创 2019-02-25 19:18:47 · 449 阅读 · 0 评论 -
JavaScript基础算法——找出最长单词
要求:在句子中找出最长的单词,并返回它的长度。函数的返回值应该是一个数字。样本:findLongestWord("The quick brown fox jumped over the lazy dog") 应该返回一个数字findLongestWord("The quick brown fox jumped over the lazy dog") 应该返回 6.findL...原创 2019-02-25 19:33:51 · 337 阅读 · 0 评论 -
JavaScript基础算法——句中单词首字母大写
要求:确保字符串的每个单词首字母都大写,其余部分小写。像'the'和'of'这样的连接符同理。样本:titleCase("I'm a little tea pot")应该返回一个字符串titleCase("I'm a little tea pot")应该返回 "I'm A Little Tea Pot".titleCase("sHoRt AnD sToUt") 应该返回 "...原创 2019-02-25 20:35:59 · 270 阅读 · 0 评论 -
JavaScript基础算法——找出多个数组中的最大数
要求:右边大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组。样本:largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]) 应该返回一个数组largestOfFour([[13, 27, 18, 26], [4, 5, 1,...原创 2019-02-25 21:03:18 · 1064 阅读 · 0 评论 -
JavaScript基础算法——检查字符串结尾
要求:判断一个字符串(str)是否以指定的字符串(target)结尾。如果是,返回true;如果不是,返回false。样本:confirmEnding("Bastian", "n") 应该返回 true.confirmEnding("Connor", "n") 应该返回 false.confirmEnding("Walking on water and developing...原创 2019-02-25 21:10:10 · 484 阅读 · 0 评论 -
JavaScript基础算法——分割数组
要求:把一个数组arr按照指定的数组大小size分割成若干个数组块。例如:chunk([1,2,3,4],2)=[[1,2],[3,4]];chunk([1,2,3,4,5],2)=[[1,2],[3,4],[5]];样本:chunk(["a", "b", "c", "d"], 2) 应该返回 [["a", "b"], ["c", "d&q原创 2019-02-25 22:01:49 · 4876 阅读 · 0 评论 -
JavaScript基础算法——截断数组
要求:返回一个数组被截断n个元素后还剩余的元素,截断从索引0开始。样本:slasher([1, 2, 3], 2) 应该返回 [3].slasher([1, 2, 3], 0) 应该返回 [1, 2, 3].slasher([1, 2, 3], 9) 应该返回 [].slasher([1, 2, 3], 4) 应该返回 [].slasher(["burgers", "f...原创 2019-02-25 22:18:39 · 262 阅读 · 0 评论 -
JavaScript基础算法——比较字符串
要求:如果数组第一个字符串元素包含了第二个字符串元素的所有字符,函数返回true。举例,["hello", "Hello"]应该返回true,因为在忽略大小写的情况下,第二个字符串的所有字符都可以在第一个字符串找到。["hello", "hey"]应该返回false,因为字符串"hello"并不包含字符"y"。["Alien", "line&q原创 2019-02-26 11:29:25 · 450 阅读 · 0 评论 -
JavaScript基础算法——Sum All Primes(求小于等于给定数值的质数之和)
要求:求小于等于给定数值的质数之和。只有 1 和它本身两个约数的数叫质数。例如,2 是质数,因为它只能被 1 和 2 整除。1 不是质数,因为它只能被自身整除。给定的数不一定是质数。样本:sumPrimes(10)应该返回一个数字。sumPrimes(10)应该返回 17。sumPrimes(977)应该返回 73156。解法:function sumP...原创 2019-04-22 09:24:47 · 420 阅读 · 0 评论