剑指Offer - 九度1373 - 整数中1出现的次数(从1到n整数中1出现的次数)2014-02-05 23:03 题目描述: 亲们!!我们的外国友人YZ这几天总是睡不好,初中奥数里有一个题目一直困扰着他,特此他向JOBDU发来求助信,希望亲们能帮帮他.问题是:求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了.ACMer希望你们帮帮他,并把问题更加普遍化…
题目信息 时间: 2019-07-01 题目链接:Leetcode tag: 整除 取余 规律 递归 难易程度:中等 题目描述: 输入一个整数 n ,求1-n这n个整数的十进制表示中1出现的次数. 例如,输入12,1-12这些整数中包含1 的数字有1.10.11和12,1一共出现了5次. 示例1: 输入:n = 12 输出:5 示例2: 输入:n = 13 输出:6 提示 1. 1 <= n < 2^31 解题思路 本题难点 数字 n 是个 x 位数,记 n 的第 i 位为 n i ,则可将…
题目信息 时间: 2019-07-03 题目链接:Leetcode tag:动态规划 小根堆 难易程度:中等 题目描述: 我们把只包含质因子 2.3 和 5 的数称作丑数(Ugly Number).求按从小到大的顺序的第 n 个丑数. 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数. 注意 1. 1是丑数 2. n < 1690 解题思路 本题难点 丑数的定义以及查找的方式 具体思路 丑数只包含因子 2,3,5…
题目信息 时间: 2019-07-01 题目链接:Leetcode tag: 快速排序 难易程度:中等 题目描述: 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个. 示例1: 输入: [10,2] 输出: "102" 示例2: 输入: [3,30,34,5,9] 输出: "3033459" 提示 1. 0 < nums.length <= 100 解题思路 本题难点 此题求拼接起来的 "最小数字&q…
题目信息 时间: 2019-06-30 题目链接:Leetcode tag: 快排 难易程度:中等 题目描述: 输入整数数组 arr ,找出其中最小的 k 个数.例如,输入4.5.1.6.2.7.3.8这8个数字,则最小的4个数字是1.2.3.4. 示例1: 输入:arr = [3,2,1], k = 2 输出:[1,2] 或者 [2,1] 示例2: 输入:arr = [0,1,2,1], k = 1 输出:[0] 提示 1.0 <= k <= arr.length <= 10000 2…
题目信息 时间: 2019-07-04 题目链接:Leetcode tag:二分查找 哈希表 难易程度:简单 题目描述: 统计一个数字在排序数组中出现的次数. 示例1: 输入: nums = [5,7,7,8,8,10], target = 8 输出: 2 示例2: 输入: nums = [5,7,7,8,8,10], target = 6 输出: 0 注意 1. 0 <= 数组长度 <= 50000 解题思路 本题难点 排序数组中查找数字,性能最优. 具体思路 排序数组中的搜索问题,首先想到…
题目信息 时间: 2019-07-03 题目链接:Leetcode tag: 单链表 难易程度:简单 题目描述: 输入两个链表,找出它们的第一个公共节点. 示例: A: a1 -> a2 \ -> c1 -> c2 -> c3 / B:b1 -> b2 -> b3 注意 1. 如果两个链表没有交点,返回 null. 2. 在返回结果后,两个链表仍须保持原有的结构. 3. 可假定整个链表结构中没有循环. 4. 程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存.…
题目信息 时间: 2019-07-03 题目链接:Leetcode tag:哈希表 难易程度:简单 题目描述: 在字符串 s 中找出第一个只出现一次的字符.如果没有,返回一个单空格. s 只包含小写字母. 示例: s = "abaccdeff" 返回 "b" s = "" 返回 " " 注意 1. 0 <= s 的长度 <= 50000 解题思路 本题难点 字符串查找第一个只出现一次的字符,性能最优. 具体思路 哈…
题目信息 时间: 2019-07-02 题目链接:Leetcode tag: 动态规划 哈希表 难易程度:中等 题目描述: 请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度. 示例1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3. 示例2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1…
题目信息 时间: 2019-07-02 题目链接:Leetcode tag:动态规划 难易程度:中等 题目描述: 在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0).你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格.直到到达棋盘的右下角.给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物? 示例: 输入: [ [1,3,1], [1,5,1], [4,2,1] ] 输出: 12 解释: 路径 1→3→5→2→1 可以拿到最多价值…