Arithmetic
Lucky_zsh
rookie
展开
-
LeetCode::颠倒整数——初级算法
题目:给定一个 32 位有符号整数,将整数中的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−2的31次方, 2的31次方 − 1]。根据这个假设,如果反转后的整数溢出,则返回 0。思...原创 2018-08-02 20:07:59 · 334 阅读 · 0 评论 -
LeetCode::移动零——初级算法
题目:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。思路方法:这道题我的思路比较直接,就是先找出输入数组中的非零元素。就是设置一个大小跟输入数组相等子新数组,然后把输入数组元素的值...原创 2018-08-02 18:11:45 · 370 阅读 · 0 评论 -
LeetCode::只出现一次的数字——初级算法
题目:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4思路方法:这道题相对来说比“存在重复”是稍微难一点的,这道题我暂时没有想出来比...原创 2018-08-01 18:00:21 · 222 阅读 · 0 评论 -
LeetCode::存在重复——初级算法
题目:给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例1:输入: [1,2,3,1]输出: true示例2:输入: [1,2,3,4]输出: false示例3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true思路方法:这道...原创 2018-08-01 16:38:47 · 222 阅读 · 0 评论 -
LeetCode::快乐数——中级算法
题目:编写一个算法来判断一个数是不是“快乐数”。一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。示例:输入: 19输出: true解释: 1*1+9*9=828*8 + 2*2 = 686*6 + 8*8 = 100...原创 2018-07-27 17:51:07 · 8386 阅读 · 4 评论 -
LeetCode::数组中的第k个最大元素——中级算法
题目:在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明: 你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。思路方法...原创 2018-07-26 18:42:37 · 1116 阅读 · 0 评论 -
LeetCode::Product of Array Except Self(数组中除了自己的积组成的新数组)——高级算法
题目:给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。示例:输入: [1,2,3,4]输出: [24,12,8,6]说明: 请不要使用除法,且在 O(n) 时间复杂度内完成此题。进阶:你可以在常数空间复杂度内完成这个题目吗?( 出于对空间复...原创 2018-07-29 18:04:05 · 1404 阅读 · 0 评论 -
LeetCode::螺旋矩阵——高级算法
题目:给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例1:输入:[ [1, 2, 3], [ 4, 5, 6 ], [ 7, 8, 9 ] ]输出: [1,2,3,6,9,8,7,4,5]示例2:输入: [ [1, 2, 3, 4], ...原创 2018-07-28 19:42:03 · 2390 阅读 · 0 评论 -
LeetCode::矩阵置零——中级算法
题目:给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。示例1:输入: [ [1,1,1], [1,0,1], [1,1,1] ]输出: [ [1,0,1], [0,0,0], [1,0,1] ]示例2:输入: [ [0,1,2,0], [3,4,5,2], [1,3,1,5] ...原创 2018-07-25 14:57:13 · 581 阅读 · 0 评论 -
LeetCode::从排序数组中删除重复项——初级算法
题目:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例:给定数组 nums = [1,1,2],函数应该返回新的长度 2,并且原数组 nums 的前两个元素被修改为[1,2]你不需要考虑数组中超出新长度后面的元素思路:...原创 2018-07-19 16:21:17 · 223 阅读 · 0 评论 -
LeetCode::反转字符串——初级算法
题目:请编写一个函数,其功能是将输入的字符串反转过来。示例:输入:s = "hello"返回:"olleh"思路:这个题感觉就是老生常谈的题了,算是字符串里很简单的题了,方法也比较多,我就写几个方法吧第一个:用字符指针来做,这是C里的方法,思路很简单,就是把原来的字符串前后位置颠倒一下,交换下位置代码如下:char* result(char* s){...原创 2018-07-19 16:08:56 · 357 阅读 · 0 评论 -
LeetCode::合并两个有序数组——初级算法
题目:给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入: nums1 = [1,2,3,0,0,0], m = 3...原创 2018-07-24 16:24:26 · 452 阅读 · 0 评论 -
LeetCode::两数之和——初级算法
题目:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解题大致思路: 个人感觉没什么技巧,就按照正常思路,利用两个循环把数组中...原创 2018-07-18 18:23:29 · 226 阅读 · 0 评论 -
LeetCode::字符串的第一个唯一字符——初级算法
题目:给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。示例:s = "leetcode", 返回 0.s = "loveleetcode",返回 2.思路和方法:首先解释一下题目中的索引是string类中的说法,其实他的意思就是我们数组中的下标值。其实这道题思路很简单无非就是把字符串中的字符挨个的比一遍,不过我们就是要保...原创 2018-07-23 21:46:08 · 252 阅读 · 0 评论 -
LeetCode::整数转罗马数字——中级算法
题目描述:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为...原创 2019-07-29 20:22:12 · 242 阅读 · 0 评论