• 821. 字符的最短距离

    2018-09-03 浏览:3415
    给定一个字符串 S 和一个字符 C。返回一个代表字符串 S 中每个字符到字符串 S 中的字符 C 的最短距离的数组。 示例 1: 输入: S = "loveleetcode", C = 'e' 输出: [3, 2, 1, 0, 1, 0, 0, 1, 2, 2, 1, 0] 说明: 字符串 S 的长度范围为 [1, 10000]。 C 是一个单字符,且保证是字符串 S 里的字符。 S 和 C 中的所有字母均为小写字母。 题解 var shortestToChar = function(S, C) { var a=S.split(C) var c=[]... 展开全文
  • 561. 数组拆分 I

    2018-09-03 浏览:3959
    给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。 示例 1: 输入: [1,4,3,2] 输出: 4 解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4). 提示: n 是正整数,范围在 [1, 10000]. 数组中的元素范围在 [-10000, 10000]. 题解 var arrayPairSum = function(nums) { function compare(value1,value2){ return v... 展开全文
  • 867. 转置矩阵

    2018-09-03 浏览:3265
    给定一个矩阵 A, 返回 A 的转置矩阵。 矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。 示例 1: 输入:[[1,2,3],[4,5,6],[7,8,9]] 输出:[[1,4,7],[2,5,8],[3,6,9]] 示例 2: 输入:[[1,2,3],[4,5,6]] 输出:[[1,4],[2,5],[3,6]] 提示: 1 <= A.length <= 1000 1 <= A[0].length <= 1000 题解 var transpose = function(A) { var arr=new Array() if(A.length>0){... 展开全文
  • 292. Nim游戏

    2018-09-03 浏览:3482
    你和你的朋友,两个人一起玩 Nim游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。你作为先手。 你们是聪明人,每一步都是最优解。 编写一个函数,来判断你是否可以在给定石头数量的情况下赢得游戏。 示例: 输入: 4 输出: false 解释: 如果堆中有 4 块石头,那么你永远不会赢得比赛; 因为无论你拿走 1 块、2 块 还是 3 块石头,最后一块石头总是会被你的朋友拿走。 ... 展开全文
  • 557. 反转字符串中的单词 III

    2018-09-03 浏览:3174
    给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。 示例 1: 输入: "Let's take LeetCode contest" 输出: "s'teL ekat edoCteeL tsetnoc" 注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。 题解 var reverseWords = function(s) { var a=[] for (var i = 0; i < s.split(" ").length; i++) { a.push(s.split(" ")[i].... 展开全文
  • 500. 键盘行

    2018-09-03 浏览:3277
    给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。 示例1: 输入: ["Hello", "Alaska", "Dad", "Peace"] 输出: ["Alaska", "Dad"] 注意: 你可以重复使用键盘上同一字符。 你可以假设输入的字符串将只包含字母。 题解 var findWords = function(words) { var a = 'qwertyuiop' var b = 'asdfghjkl' var c = 'zxcvbnm' for (var i = 0; i < words.length; i++) { ... 展开全文
  • 728. 自除数

    2018-09-03 浏览:3344
    自除数 是指可以被它包含的每一位数除尽的数。 例如,128 是一个自除数,因为 128 % 1 == 0,128 % 2 == 0,128 % 8 == 0。 还有,自除数不允许包含 0 。 给定上边界和下边界数字,输出一个列表,列表的元素是边界(含边界)内所有的自除数。 示例 1: 输入: 上边界left = 1, 下边界right = 22 输出: [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 22] 注意: 每个输入参数的边界满足 1 <= left <= right <=... 展开全文
  • 344. 反转字符串

    2018-09-03 浏览:3224
    编写一个函数,其作用是将输入的字符串反转过来。 示例 1: 输入: "hello" 输出: "olleh" 示例 2: 输入: "A man, a plan, a canal: Panama" 输出: "amanaP :lanac a ,nalp a ,nam A" 题解 var reverseString = function(s) { for(let i=0;i<s.length;i++){ if(i<s.length-1-i){ [s[i],s[s.length-1-i]]=[s[s.length-1-i],s[i]] } } return s }; 展开全文
  • 476. 数字的补数

    2018-09-03 浏览:3483
    给定一个正整数,输出它的补数。补数是对该数的二进制表示取反。 注意: 给定的整数保证在32位带符号整数的范围内。 你可以假定二进制数不包含前导零位。 示例 1: 输入: 5 输出: 2 解释: 5的二进制表示为101(没有前导零位),其补数为010。所以你需要输出2。 示例 2: 输入: 1 输出: 0 解释: 1的二进制表示为1(没有前导零位),其补数为0。所以你需要输出0。 题解 var findComplement = function(num) { ... 展开全文
  • 微信小程序promise封装(1)

    2018-09-03 浏览:7967
    创建promose.js文件 import Promise from './es6-promise.min'; export const request = (method = 'GET') => (url, data) => { return new Promise((resolve, reject) => { wx.request({ url, data, method, header: { 'Content-Type': 'application/json' }, success: function (res) { resolve(res.data) }, fail: function (err) { ... 展开全文
  • 804. 唯一摩尔斯密码词

    2018-07-20 浏览:4302
    国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: "a" 对应 ".-", "b" 对应 "-...", "c" 对应 "-.-.", 等等。 为了方便,所有26个英文字母对应摩尔斯密码表如下: [".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."] 给定一个单词列表,每个单词可以写成每... 展开全文
  • 852. 山脉数组的峰顶索引

    2018-07-20 浏览:5091
    我们把符合下列属性的数组 A 称作山脉: A.length >= 3 存在 0 < i < A.length - 1 使得A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1] 给定一个确定为山脉的数组,返回任何满足 A[0] < A[1] < ... A[i-1] < A[i] > A[i+1] > ... > A[A.length - 1] 的 i 的值。 题解 var peakIndexInMountainArray = function(A) { for(var i=0;i<A.length-1;i++){ if(A[i]>... 展开全文
  • 461. 汉明距离

    2018-07-20 浏览:4223
    两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 题解 var hammingDistance = function(x, y) { var zero = '00000000000000000000000000000000'; var tmpx = 32-x.toString(2).split('').length; var tmpy = 32-y.toString(2).split('').length; var a=0 var x=(zero.substr(0,tmpx)+x.toString(2)).split('') ... 展开全文
  • 832. 翻转图像

    2018-07-20 浏览:4160
    给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。 水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。 反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。 示例 1: 输入: [[1,1,0],[1,0,1],[0,0,0]] 输出: [[1,0,0],[0,1,0],[1,1,1]] 解释: 首先翻转每一行: [[0,1,1],[1,0,1],[0,0,0]];... 展开全文
  • 709. 转换成小写字母

    2018-07-20 浏览:4354
    实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。 var toLowerCase = function(str) { return str.toLowerCase(); }; 展开全文
  • 771. 宝石与石头

    2018-07-20 浏览:4046
    给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。 J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。 示例 1: 输入: J = "aA", S = "aAAbbbb" 输出: 3 示例 2: 输入: J = "z", S = "ZZ" 输出: 0 注意: S 和 J 最多含有50个字母。 J 中的字符不重复。 题解 暴力... 展开全文
  • 13. 罗马数字转整数

    2018-07-20 浏览:4242
    罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做  XXVII, 即为 XX + V + II 。 通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做... 展开全文
  • leetcode 1. 两数之和

    2018-07-20 浏览:4221
    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 题解 //2次循环 比较索引不用的2个数的和是否为target var twoSum = function(nums, target) { for(var i... 展开全文
  • 使用七牛qshell备份服务器数据

    2018-07-12 浏览:5571
    qshell是利用七牛文档上公开的API实现的一个方便开发者测试和使用七牛API服务的命令行工具。该工具设计和开发的主要目的就是帮助开发者快速解决问题 文档地址:https://developer.qiniu.com/kodo/tools/1302/qshell 下载qshell 新建qshell文件夹,下载qshell并解压 mkdir qshell cd qshell wget http://devtools.qiniu.com/qshell-v2.1.8.zip unzip qshell-v2.1.8.zip 输入 ls 查看解压后文件 qshell-darwin-x64 Mac 64位系... 展开全文
  • <input type="text" @click="scroll"> 这里使用click事件而不是focus事件,input首次获得焦点时点击隐藏软键盘,然后再次点击input呼出软键盘但这时并不会触发focus事件 获取当前input距离页面顶部的距离,-70为滚动后input距离浏览器顶部距离 微信端input获得焦点是会有默认滚动动画所以这里给出了400ms的延时 scroll(){ let a = $(event.currentTarget).offset().top - 70; setTimeout(() => { $('... 展开全文