• 字符串转换整数


    题目描述

    请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:

    • 如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。
    • 假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。
    • 该字符串在有效的整数部分之后也可能会存在多余的字符,那么这些字符可以被忽略,它们对函数不应该造成影响。

    注意: 假如该字符串中的第一个非空格字符不是一个有效整数字符、字符串为空或字符串仅包含空白字符时,则你的函数不需要进行转换,即无法进行有效转换。在任何情况下,若函数不能进行有效的转换时,请返回 0 。

    提示:

    • 本题中的空白字符只包括空格字符 ‘ ‘ 。
    • 假设我们的环境只能存储 32 位大小的有符号整数,那么其数值范围为 [−2³¹,  2³¹ − 1]。如果数值超过这个范围,请返回  INT_MAX (2³¹ − 1) 或 INT_MIN (−2³¹) 。

     

    示例 1:

    输入: “42”
    输出: 42

    示例 2:

    输入: “ -42”
    输出: -42
    解释: 第一个非空白字符为 ‘-‘, 它是一个负号。我们尽可能将负号与后面所有连续出现的数字组合起来,最后得到 -42 。

    示例 3:

    输入: “4193 with words”
    输出: 4193
    解释: 转换截止于数字 ‘3’ ,因为它的下一个字符不为数字。

    示例 4:

    输入: “words and 987”
    输出: 0
    解释: 第一个非空字符是 ‘w’, 但它不是数字或正、负号。因此无法执行有效的转换。

    示例 5:

    输入: “-91283472332”
    输出: -2147483648
    解释: 数字 “-91283472332” 超过 32 位有符号整数范围。因此返回 INT_MIN (−2³¹) 。

  • JavaScript中的GC

    1234567891011121314151617const f = function () { let v = "string"; let c = function () { v = documen...
  • 关于removeEventListener里使用里bind不生效解决办法

    现在写JS代码都流行用class了,自己在写一些东西都时候也会用。 但是在一个对象里如果绑定了某些事件需要在销毁时移除绑定,在使用bind的情况下不能正常移除。 这里单独记录一下,如下代码: 123456789101112131415161718cl...
  • 无重复字符的最长子串


    题目描述

    给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。

    示例 1:

    输入: “abcabcbb”
    输出: 3
    解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。

    示例 2:

    输入: “bbbbb”
    输出: 1
    解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。

    示例 3:

    输入: “pwwkew”
    输出: 3
    解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。
     注意,你的答案必须是子串的长度,”pwke” 是一个子序列,不是子串。

  • 两数相加


    题目描述

    给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。

    示例:

    输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
    输出:7 -> 0 -> 8
    原因:342 + 465 = 807

  • 旧人

    忆旧人,有感,作此诗于深圳,2019-11-19 08:16 笔

  • UWP小书 - ListView 和 GridView (上)

    :::tip
    本章涉及知识点:

    • ListView/GridView 的用法
    • 与集合的绑定
    • ObservableCollection的用法
      :::

    通过本章的学习,你将接触UWP最重要的集合控件:ListView和GridView。它们虽然是两种控件,但原理相通,最大的区别也不过在于排版方式的不同,故而将这两者合在一起讲。

    ListView和GridView控件本身并不难,不足以让我分成上下两章来说,但其背后的数据绑定、数据模板等,却是制作UWP应用时必须要具备的知识,值得大书特书。

  • Hexo-同时部署Github&coding证书过期申请失败原因以及解决方案

    前沿(吹牛逼)每天码搬砖中~~ 突然有一天想去看看自己网站 欣赏一下自己作品 打开 咦这是为啥 显示证书不可用了 因我网站部署在github和coding上 我是国内访问所以去coding 看了一下 好吧~~ 过期了 coding域名证书为3个月~...
  • 罗马数字转整数


    题目描述

    罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。

    1
    2
    3
    4
    5
    6
    7
    8
    字符          数值
    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 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:

    • I 可以放在 V (5) 和 X (10) 的左边,来表示 4 和 9。
    • X 可以放在 L (50) 和 C (100) 的左边,来表示 40 和 90。 
    • C 可以放在 D (500) 和 M (1000) 的左边,来表示 400 和 900。

    给定一个罗马数字,将其转换成整数。输入确保在 1 到 3999 的范围内。

    示例 1:

    输入: “III”
    输出: 3

    示例 2:

    输入: “IV”
    输出: 4

    示例 3:

    输入: “IX”
    输出: 9

    示例 4:

    输入: “LVIII”
    输出: 58
    解释: L = 50, V= 5, III = 3.

    示例 5:

    输入: “MCMXCIV”
    输出: 1994
    解释: M = 1000, CM = 900, XC = 90, IV = 4.

  • 两数之和


    题目描述

    给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。
    你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

    示例:

    给定 nums = [2, 7, 11, 15], target = 9
    因为 nums[0] + nums[1] = 2 + 7 = 9
    所以返回 [0, 1]