思维
失业边缘,疯狂挣扎
这个作者很懒,什么都没留下…
展开
-
8. 字符串转换整数 (atoi)(腾讯1面)(字符串)(麻烦)
1 题目请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。该字符串在有效的整数部分之后也可能会存在多余的字符,那么这些字符可以被忽略,它们对函数不应该造成影响。注意:假如该字符串中的第一个非空格字符不是一个原创 2020-09-04 15:25:31 · 78 阅读 · 0 评论 -
面试题66. 构建乘积数组(Java)(思维,动归迭代)
1 题目给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B 中的元素 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。示例:输入: [1,2,3,4,5]输出: [120,60,40,30,24]提示:所有元素乘积之和不会溢出 32 位整数a.length <= 1000002 Java2...原创 2020-03-19 12:14:00 · 79 阅读 · 0 评论 -
141. 环形链表(Java)(HashSet查重)(相遇指针)
1 题目给定一个链表,判断链表中是否有环https://leetcode-cn.com/problems/linked-list-cycle/2 Java2.1 方法一(HashSet查重)/** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next;...原创 2020-04-24 14:00:39 · 209 阅读 · 0 评论 -
5. 最长回文子串(Java)(中心扩展,思维)(动归乱序迭代)
1 题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-palindromic...原创 2020-04-06 14:04:29 · 76 阅读 · 0 评论 -
647. 回文子串(Java)(中心扩展,思维)(动归乱序迭代)
1 题目给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串。示例 1:输入: “abc”输出: 3解释: 三个回文子串: “a”, “b”, “c”.示例 2:输入: “aaa”输出: 6说明: 6个回文子串: “a”, “a”, “a”, “aa”, “aa”, “aaa”.注意:输...原创 2020-04-05 14:34:17 · 163 阅读 · 0 评论 -
面试题45. 把数组排成最小的数(Java)(Lambda,comparator的Array.sort(),compareTo比较String)
1 题目输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。示例 1:输入: [10,2]输出: “102”示例 2:输入: [3,30,34,5,9]输出: “3033459”提示:0 < nums.length <= 100说明:输出结果可能非常大,所以你需要返回一个字符串而不是整数拼接起来的数字可能会有前导 0,最后...原创 2020-03-30 19:22:03 · 707 阅读 · 0 评论 -
面试题44. 数字序列中某一位的数字(Java)(思维)
1 题目数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4,等等。请写一个函数,求任意第n位对应的数字。示例 1:输入:n = 3输出:3示例 2:输入:n = 11输出:0限制:0 <= n < 2^31注意:本题与主站 400 题相同:https://lee...原创 2020-03-30 15:48:15 · 150 阅读 · 0 评论 -
面试题67. 把字符串转换成整数(Java)(思维,按题目要求一步一步来)
1 题目写一个函数 StrToInt,实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了...原创 2020-03-29 14:52:15 · 236 阅读 · 0 评论 -
面试题14- II. 剪绳子 II(Java)(动态规划失效)(思维)
1 题目给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m] 。请问 k[0]k[1]…*k[m] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。答案需要取模 1e9+7(1000000007),如计算初始结果为:10000...原创 2020-03-29 13:49:54 · 143 阅读 · 0 评论 -
面试题43. 1~n整数中1出现的次数(Java)(思维)
1 题目面试题43. 1~n整数中1出现的次数输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。示例 1:输入:n = 12输出:5示例 2:输入:n = 13输出:6限制:1 <= n < 2^31注意:本题与主站 233 题相同:https://leet...原创 2020-03-27 13:43:55 · 107 阅读 · 0 评论 -
面试题49. 丑数(Java)(三指针,动态规划)(优先队列)
1 题目我们把只包含因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。说明:1 是丑数。n 不超过1690。注意:本题与主站 264 题相同:https://leetcode-cn.com/problems...原创 2020-03-23 16:32:37 · 119 阅读 · 0 评论 -
面试题52. 两个链表的第一个公共节点(Java)(HashSet查重)(双指针,拼接链表,思维)
1 题目输入两个链表,找出它们的第一个公共节点。如下面的两个链表:在节点 c1 开始相交。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注...原创 2020-03-23 12:59:04 · 151 阅读 · 0 评论 -
面试题04. 二维数组中的查找(Java)(思维)
1 题目在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19],[3, 6, 9, 16, 22],[10, 13, 14, 17...原创 2020-03-22 15:36:06 · 121 阅读 · 0 评论 -
面试题14- I. 剪绳子(343. 整数拆分)(Java)(动态规划迭代)(思维)
1 题目给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例 2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。说明: 你可以假设 n 不小于 2 且不大于 58。2 Java2.1 方法一(...原创 2020-03-21 15:27:47 · 163 阅读 · 0 评论 -
面试题62. 圆圈中最后剩下的数字(Java)(思维)(神奇)
1 题目0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。示例 1:输入: n = 5, m = 3输出: 3示例 2:输入: n = 10, m = 17输出: 2限制...原创 2020-03-21 13:35:46 · 75 阅读 · 0 评论 -
面试题61. 扑克牌中的顺子(Java)
1 题目从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。示例 1:输入: [1,2,3,4,5]输出: True示例 2:输入: [0,0,1,2,5]输出: True限制:数组长度为 5数组的数取值为 [0, 13] .来源:力扣(Leet...原创 2020-03-17 15:07:12 · 165 阅读 · 0 评论