leetcode

LeetCode 高频题目

耗尽温柔 提交于 2019-11-26 23:50:58
Leetcode Single Number II Leetcode Single Number Leetcode Best Time to Buy and Sell Stock III Leetcode Best Time to Buy and Sell Stock II Leetcode Best Time to Buy and Sell Stock Leetcode Sort Colors Leetcode Sqrt(x) Leetcode Valid Number Leetcode Unique Paths II Leetcode Unique Paths Leetcode Maximum Subarray Leetcode N-Queens II Leetcode N-Queens Leetcode Pow(x, n) Leetcode Anagrams Leetcode 4Sum Leetcode 3Sum Closest Leetcode 3Sum Leetcode Two Sum Careercup/Others O(1) check whether a number is power of 2 Careercup/Others Trailing number of 0s Leetcode Linked List Cycle II Leetcode Linked

leetcode

依然范特西╮ 提交于 2019-11-26 23:49:16
leetcode题海游历 一、leetcode题目 7. 整数反转 8. 字符串转换整数 (atoi) 9. 回文数 15. 三数之和 一、leetcode题目 leetcode题海游历。 7. 整数反转 链接: link . 关键点: (1)整数范围:int的取值范围为: -2 31——2 31-1,即-2147483648——2147483647 (2)使用/ ,%运算进行获取反转值 关键逻辑: //pop operation: pop = x % 10; x /= 10; //push operation: temp = rev * 10 + pop; rev = temp; 8. 字符串转换整数 (atoi) 链接: link . (1)去除空格函数:str.trim(); (2)判断char是否包含数字:Character.isDigit(str.charAt(i)) 最佳题解:https://leetcode-cn.com/problems/string-to-integer-atoi/solution/c-jian-dan-ti-jie-by-da-li-wang-2/ 9. 回文数 链接: link . 不使用将数字转换成字符串的解法关键点: 1、反转数字:revertedNumber = revertedNumber * 10 + x % 10; 2

LeetCode

佐手、 提交于 2019-11-26 23:46:16
C++版: LeetCode 1. Two Sum LeetCode 2.Add Two Numbers LeetCode 3. Longest Substring Without Repeating Characters LeetCode 4. Median of Two Sorted Arrays LeetCode 5. Longest Palindromic Substring LeetCode 6. ZigZag Conversion LeetCode 8. String to Integer(aoti) LeetCode 10 Regular Expression Matching LeetCode 11.Container With Most Water LeetCode 12. Integer to Roman LeetCode 15.3Sum LeetCode 16. 3Sum Closest LeetCode 17. Letter Combinations of a Phone Number LeetCode 18. 4Sum LeetCode 19. Remove Nth Node From End of List LeetCode 22.Generate Parentheses LeetCode 29. Divide Two Integers Java版:

C# LeetCode刷题[击败99.69%的提交] - Leetcode 242. 有效的同构异形词 - 题解

一个人想着一个人 提交于 2019-11-26 23:45:39
C#版 - Leetcode 242. 有效的同构异形词 - 题解 Leetcode 242.Valid Anagram 在线提交: https://leetcode.com/problems/valid-anagram/ 题目描述 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个同构异形词(变位英文字符串)。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 输入: s = "rat", t = "car" 输出: false 说明: 你可以假设字符串只包含小写字母。 进阶: 如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况? ● 难度: 简单 通过次数:10.1K 提交次数:21.8K 贡献者:LeetCode 相关话题 排序 哈希表 相似题目 字母异位词分组 Palindrome Permutation 找到字符串中所有字母异位词 思路: 方法1: 分别进行排序后,判断序列是否相等。time: O ( n ⋅ l o g n ) O(n\cdot logn) O ( n ⋅ l o g n ) , space: O(n) 方法2: 使用26位的字典,记录每一个字母出现的次数。 time: O(n), space: O(1) 方法1 已AC代码: public

Leetcode算法Java全解答--37. 解数独

自古美人都是妖i 提交于 2019-11-26 22:42:41
Leetcode算法Java全解答–37. 解数独 文章目录 Leetcode算法Java全解答--37. 解数独 题目 想法 结果 总结 代码 我的答案 大佬们的答案 测试用例 其他 题目 编写一个程序,通过已填充的空格来解决数独问题。 一个数独的解法需遵循如下规则: 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 空白格用 ‘.’ 表示。 一个数独。 答案被标成红色 。Note: 给定的数独序列只包含数字 1-9 和字符 ‘.’ 。 你可以假设给定的数独只有唯一解。 给定数独永远是 9x9 形式的。 想法 // TODO 结果 // TODO 总结 // TODO 代码 我的答案 大佬们的答案 private int which(int i, int j) { if (i <= 2) { if (j <= 2) return 1; if (j <= 5) return 2; return 3; } if (i <= 5) { if (j <= 2) return 4; if (j <= 5) return 5; return 6; } if (j <= 2) return 7; if (j <= 5) return 8; return 9; } public void

LeetCode -1.两数之和

做~自己de王妃 提交于 2019-11-26 22:40:38
今天开始刷LeetCode,原来都是在各大ACM的oj上刷题,第一次接触LeetCode 刚开始写代码时候有点不习惯,选择执行代码时报错( error: control reaches end of non-void function [-Werror=return-type] ),在网上查原因原来是函数结束没有返回值( 然并卵 )加上了就可以了。 第一种写法如下: class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { int len = nums.size(); vector<int> ans; for(int i=0; i<len; i++){ for(int j=i+1; j<len; j++){ if(nums[i] + nums[j] == target){ ans.push_back(i); ans.push_back(j); return ans; } } } return ans; } }; 这种暴力算法缺点是费时,但对于本题来说他的空间复杂度不高,总是时间复杂度还可以接受吧。 第二种写法如下: class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { map<int,

Leetcode算法Java全解答--29. 两数相除

谁都会走 提交于 2019-11-26 22:38:57
Leetcode算法Java全解答–29. 两数相除 文章目录 Leetcode算法Java全解答--29. 两数相除 题目 想法 结果 总结 代码 我的答案 大佬们的答案 测试用例 其他 题目 给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。 返回被除数 dividend 除以除数 divisor 得到的商。 示例 1: 输入: dividend = 10, divisor = 3 输出: 3 示例 2: 输入: dividend = 7, divisor = -3 输出: -2 说明: 被除数和除数均为 32 位有符号整数。 除数不为 0。 假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231 − 1]。本题中,如果除法结果溢出,则返回 231 − 1。 示例: 输入: dividend = 10, divisor = 3 输出: 3 示例 2: 输入: dividend = 7, divisor = -3 输出: -2 想法 累加被除数,知道大于除数 (网上资源) 任何一个整数可以表示成以2的幂为底的一组基的线性组合, 即num=a_02 0+a_12 1+a_22 2+…+a_n2 n。 基于以上这个公式以及左移一位相当于乘以2, 我们先让除数左移直到大于被除数之前得到一个最大的基

LeetCode python-167.两数之和II

烈酒焚心 提交于 2019-11-26 22:38:23
LeetCode python-167.两数之和II 先看题目: (题目来力扣网站) 拿到题目,我们回想一下,它与第一道题有什么区别? LeetCode python-1.两数之和 我们会发现区别在于numbers是否排序,排序的好处是从小到大,或者从大到小,代码reverse=False,代表升序,一般不添加reverse,就默认升序。那我们的思路是否可以从两头开始,一起查找。 第一种方法(从两头查找) class Solution: def twoSum(self, numbers: List[int], target: int) -> List[int]: lens = len(numbers) #numbers长度 i = 0 #i代表从左端开始 j = lens - 1 #j代表从右端楷书 while i < j: if target == numbers[i] + numbers[j]: #如果索引 i 所对应的值 + 索引 j 所对应的值 = target return [i + 1, j + 1] #返回各自索引+1,因为题目要求下标值不是从0开始 elif target < numbers[i] + numbers[j]: j -= 1 #若果和大于目标值,则 j 往左移动,因为该numbers是从小到大排列,最右端的值最大,往左移动,其和会减小 else: i

LeetCode python-1.两数之和

梦想与她 提交于 2019-11-26 22:37:57
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://mp.csdn.net/mdeditor/100997353 LeetCode python-1.两数之和 开始刷LeetCode上的题,第一题就被难住了。目前编程的情况是Python基础书本看了两遍,视频课还在陆续学习中。想从简单的编程题开始入手,配合视频一起进行。 这道题搜索查找前辈的答案,编写了代码,测试代码,将之全部弄明白。 题目截图如下: 第一种方法 class Solution(object): #新式类 object ,在Python3.x下,可添加可不添加,不添加也默认有object def twoSum(nums,target): lens = len(nums) #列表长度 for i in range(lens): nums2 = target - nums[i] #另一个值nums2=目标值 - 当前下标在数组中的值 if nums2 in nums: #判断nums2是否在数组中 j = nums.index(nums2) #值nums2的索引 if i != j: #判断元素不重复,满足题意 return [i,j] if i<j else[j,i] 第二种方法 class Solution: def twoSum(self

LeetCode:Symmetric Tree

故事扮演 提交于 2019-11-26 22:13:44
1、题目名称 Symmetric Tree(判断二叉树是否对称) 2、题目地址 https://leetcode.com/problems/symmetric-tree/ 3、题目内容 英文:Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). 中文:给定一颗二叉树,检查它是否与自己的镜像是同一棵树(即围绕根节点对称)。 4、解题方法 本题与题目“ Same Tree ”的解法类似,使用递归函数考察整棵树,包括左右对称节点的值和对称节点的两个子枝。需要注意的是比较子枝的时候,比较的位置是对称的位置,即用左树的右枝去比较右树的左枝,用左树的左枝去比较右树的右枝。 一段可以AC的Java代码如下: /** * 功能说明:LeetCode 101 - Symmetric Tree * 开发人员:Tsybius2014 * 开发时间:2015年8月13日 */ public class Solution { /** * 判断二叉树是否对称 * @param root 二叉树根节点 * @return true:对称 false:不对称 */ public boolean isSymmetric(TreeNode root) { if (root ==