Leetcode
hammring
Stay Hungery,Stay Foolish
展开
-
剑指 Offer 10- I. 斐波那契数列---hammring
1.题目描述:写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:F(0) = 0,F(1)= 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:1示例 2:输入:n...原创 2021-09-05 00:59:35 · 136 阅读 · 0 评论 -
Leetcode 88. 合并两个有序数组
1.题目描述给你两个有序整数数组nums1 和 nums2,请你将 nums2 合并到nums1中,使 nums1 成为一个有序数组。初始化nums1 和 nums2 的元素数量分别为m 和 n 。你可以假设nums1 的空间大小等于m + n,这样它就有足够的空间保存来自 nums2 的元素。示例 1:输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3输出:[1,2,2,3,5,6]示例 2:输入:nums1...原创 2021-05-27 15:09:25 · 115 阅读 · 0 评论 -
面试:HashMap的原理
从leetcode137.只出现一次的数字 || 来看HashMap的原理进行讲解。1.题目描述给你一个整数数组nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。示例 1:输入:nums = [2,2,3,2]输出:3示例 2:输入:nums = [0,1,0,1,0,1,99]输出:992.解题思路1.)使用HashMap用<key,value>的形式存储键值对,一个键值对为一个entry.把整个数组.原创 2021-05-03 11:26:26 · 150 阅读 · 0 评论 -
Leetcode 377. 组合总和 Ⅳ
1.题目描述给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。题目数据保证答案符合 32 位整数范围。示例 1:输入:nums = [1,2,3], target = 4输出:7解释:所有可能的组合为:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)请注意,顺序不同的序列被视作不同的组合。示例 2:输入原创 2021-05-01 00:24:45 · 115 阅读 · 1 评论 -
Leetcode195. 第十行---hammring
1.题目描述给定一个文本文件file.txt,请只打印这个文件中的第十行。示例:假设file.txt 有如下内容:Line 1Line 2Line 3Line 4Line 5Line 6Line 7Line 8Line 9Line 10你的脚本应当显示第十行:Line 10说明:1. 如果文件少于十行,你应当输出什么?2. 至少有三种不同的解法,请尝试尽可能多的方法来解题。2.bash代码NR在awk中代表文本文件的行数NF代表的是一个文本文件中...原创 2020-12-30 11:27:12 · 92 阅读 · 0 评论 -
Leetcode192. 统计词频----hammring
1.题目描述写一个 bash 脚本以统计一个文本文件words.txt中每个单词出现的频率。为了简单起见,你可以假设:words.txt只包括小写字母和' '。每个单词只由小写字母组成。单词间由一个或多个空格字符分隔。示例:假设 words.txt 内容如下:the day is sunny the thethe sunny is is你的脚本应当输出(以词频降序排列):the 4is 3sunny 2day 12.3.bash代码如下:ca...原创 2020-12-28 16:14:43 · 218 阅读 · 0 评论 -
Leetcode 738. 单调递增的数字--hammring
1.题目描述给定一个非负整数N,找出小于或等于N的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。(当且仅当每个相邻位数上的数字x和y满足x <= y时,我们称这个整数是单调递增的。)示例 1:输入: N = 10输出: 9示例 2:输入: N = 1234输出: 1234示例 3:输入: N = 332输出: 299说明: N是在[0, 10^9]范围内的一个整数。2.解题思路分为两部分进行考虑1).当N为个位数时...原创 2020-12-17 09:43:53 · 91 阅读 · 0 评论 -
Leetcode145. 二叉树的后序遍历--hammring
1.题目描述给定一个二叉树,返回它的 后序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [3,2,1]进阶:递归算法很简单,你可以通过迭代算法完成吗?2.题目思路a.编写一个后序的方法(traver),在主方法中按左、右、根节点的顺序取出其中的值。在该方法中设置两个参数root、res。首先取出root的值,然后采用递归的方法取出左右节点的值。b.在主方法中调用traver方法,返回后序的输出结果。...原创 2020-09-29 15:02:15 · 97 阅读 · 0 评论 -
Leetcode459. 重复的子字符串--hammring
1.题目描述给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例 1:输入: "abab"输出: True解释: 可由子字符串 "ab" 重复两次构成。示例 2:输入: "aba"输出: False示例 3:输入: "abcabcabcabc"输出: True解释: 可由子字符串 "abc" 重复四次构成。 (或者子字符串 "abcabc" 重复两次构成。)2.解题思路长度为n的字符原创 2020-08-24 17:15:12 · 141 阅读 · 0 评论 -
Leetcode111. 二叉树的最小深度--hammring
1.题目描述给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最小深度 2.解决思路二叉树的问题经常可以用递归的方法来处理,此题总的思路是:如果根节点为空,深度为0.如果他的左右子树都为空则该二叉树的深度为1.如果他的左右子树有一个为空,则最小深度...原创 2020-08-21 10:55:30 · 109 阅读 · 0 评论 -
Leetcode1431. 拥有最多糖果的孩子 --hammring
1.题目描述给你一个数组candies和一个整数extraCandies,其中candies[i]代表第 i 个孩子拥有的糖果数目。对每一个孩子,检查是否存在一种方案,将额外的extraCandies个糖果分配给孩子们之后,此孩子有 最多的糖果。注意,允许有多个孩子同时拥有 最多的糖果数目。2.示例示例 1:输入:candies = [2,3,5,1,3], extraCandies = 3输出:[true,true,true,false,true]解释:孩子...原创 2020-06-02 19:53:12 · 181 阅读 · 0 评论 -
面试题13. 机器人的运动范围--hammring
1.题目描述地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机...原创 2020-04-09 10:16:51 · 137 阅读 · 0 评论 -
Leetcode8. 字符串转换整数 (atoi)--hammring
1.题目描述请你来实现一个atoi函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成一个整数。该字符串在有效的整数部分之后...原创 2020-04-03 18:44:16 · 151 阅读 · 0 评论 -
Leetcode876. 链表的中间结点--hammring
题目描述:给定一个带有头结点head的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列化表述是 [3,4,5])。注意,我们返回了一个 ListNode 类型的对象 ans,这样:ans.val = 3, ...原创 2020-03-24 11:43:09 · 106 阅读 · 0 评论 -
Leetcode945. 使数组唯一的最小增量--hammring
题目描述:给定整数数组 A,每次 move 操作将会选择任意A[i],并将其递增1。返回使 A中的每个值都是唯一的最少操作次数。示例 1:输入:[1,2,2]输出:1解释:经过一次 move 操作,数组将变为 [1, 2, 3]。示例 2:输入:[3,2,1,2,1,7]输出:6解释:经过 6 次 move 操作,数组将变为 [3, 4, 1, 2, 5, ...原创 2020-03-23 18:36:30 · 106 阅读 · 0 评论 -
Leetcode 33. 搜索旋转排序数组
题目描述:假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2])。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回-1。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是O(logn) 级别。示例 1:输入: nums = [4,5,6,...原创 2020-03-19 11:49:48 · 94 阅读 · 0 评论 -
leetcode9: 回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文...原创 2019-04-15 00:46:24 · 153 阅读 · 0 评论 -
Leetcode242: 有效的字母异位词--hammring
题目描述:给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。示例1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false说明:你可以假设字符串只包含小写字母。题目思路:以示例一为例,设为一个26位的数组,对s数组所在的单词执行加...原创 2019-08-27 10:34:09 · 191 阅读 · 0 评论 -
Leetcode1122: 数组的相对排序
题目描述:给你两个数组,arr1 和arr2,arr2中的元素各不相同arr2 中的每个元素都出现在arr1中对 arr1中的元素进行排序,使 arr1 中项的相对顺序和arr2中的相对顺序相同。未在arr2中出现过的元素需要按照升序放在arr1的末尾。示例:输入:arr1 = [2,3,1,3,2,4,6,7,9,2,19], arr2 = [2,1,4...原创 2019-09-02 09:38:23 · 349 阅读 · 0 评论 -
Leetcode523: 连续的子数组和--hammring
题目描述:给定一个包含非负数的数组和一个目标整数k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,总和为 k 的倍数,即总和为 n*k,其中 n 也是一个整数。示例 1:输入: [23,2,4,6,7], k = 6输出: True解释: [2,4] 是一个大小为 2 的子数组,并且和为 6。示例 2:输入: [23,2,6,4,7], k = 6输出:...原创 2019-09-09 11:05:02 · 88 阅读 · 0 评论 -
Leetcode56: 合并区间--hammring
题目描述:给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠...原创 2019-09-17 16:46:00 · 118 阅读 · 0 评论 -
Leetcode43: 字符串相乘--hammring
题目描述:给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例2:输入: num1 = "123", num2 = "456"输出: "56088"说明:num1和num2的长度小于110。num1 和n...原创 2019-09-23 11:43:29 · 103 阅读 · 0 评论 -
leetCode5:最长回文子串(longestPalindrome)
给定一个字符串s,找到s中最长的回文子串。你可以假设s的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"Java代码:class Solution { public String longestPalindrome(String s)...原创 2019-04-10 18:31:57 · 618 阅读 · 0 评论