Leetcode
且行且安~
擅长路径规划、车间调度、港口调度、排班调度等OR优化领域以及机器学习及数分领域,合作需求请见推广栏,请备注来意,不然不通过!
展开
-
LeetCode(14)-- 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 输入: ["flower","flow","flight"] 输出: "fl" 输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。 class Solution: def lo原创 2018-09-15 22:57:11 · 191 阅读 · 0 评论 -
Leetcode(67)--二进制求和
给定两个二进制字符串,返回他们的和(用二进制表示)。 输入为非空字符串且只包含数字 1 和 0。 输入: a = "11", b = "1" 输出: "100" 输入: a = "1010", b = "1011" 输出: "10101" 借助python的内置函数,int()和bin(),可以很直接的得到答案。但我个人不是很推荐用这方法, 尽管简单,但没有起到锻炼的原创 2018-09-28 23:29:34 · 423 阅读 · 0 评论 -
Leetcode(69)--.x 的平方根
实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 输入: 4 输出: 2 输入: 8 输出: 2 说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。 思路: 暴力法:循环比较与与x的大小,显然时间复杂度为o(n),但我们想想这似乎和从有序列表里...原创 2018-09-28 23:20:15 · 265 阅读 · 0 评论 -
Leetcode(67)--二进制求和
给定两个二进制字符串,返回他们的和(用二进制表示)。 输入为非空字符串且只包含数字 1 和 0。 输入: a = "11", b = "1" 输出: "100" int() 函数用于将一个字符串或数字转换为整型。 class int(x, base=10) x -- 字符串或数字。 base -- 进制数,默认十进制。 >>>int() ...原创 2018-09-22 22:27:12 · 297 阅读 · 0 评论 -
Leetcode(88)--合并两个有序数组
给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。 输入: nums1 = [1,2,3,0,0,0], m = 3 nums2 = [2,...原创 2018-10-01 22:06:06 · 181 阅读 · 0 评论 -
LeetCode(9)--.回文数
题目:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 输入: 121 输出: true 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 第一种方法:暴力方法,反转的做法 c...原创 2018-09-15 15:00:08 · 236 阅读 · 0 评论 -
Leetcode(66)-- 加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123。 方法1、直接转化为数字 class Solution: def plusOne(self, digits): ...原创 2018-09-19 23:36:31 · 144 阅读 · 0 评论 -
Leetcode(58)-- 最后一个单词的长度
给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。 输入: "Hello World" 输出: 5 class Solution: def lengthOfLastWord(self, s): """ :type s: str :rtype: int """ strlist =...原创 2018-09-19 21:00:29 · 189 阅读 · 0 评论 -
Leetcode目录
Leetcode刷题目录 一、简单 7.LeetCode(7)--.反转整数 9.LeetCode(9)--.回文数 14.LeetCode(14)-- 最长公共前缀 20.LeetCode(20)-- 有效的括号 26. Leetcode(26)删除排序数组中的重复项 27.Leetcode(27)-- 移除元素 28.Leetcode(28)-- 实现strStr() 35....原创 2018-09-14 15:17:08 · 346 阅读 · 0 评论 -
LeetCode(7)--.反转整数
给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 假设我们的环境只能存储 32 位有符号整数,其数值范围是 。根据这个假设,如果反转后的整数溢出,则返回 0。 第一种方法:通过取余操作,来每次获取最后一个数 class Solution: ...原创 2018-09-14 13:48:38 · 205 阅读 · 0 评论 -
Leetcode(53)-- 最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 第一种方法:暴力枚举法 class Solution: def maxSubArray(self, nums): """ ...原创 2018-09-19 20:51:13 · 162 阅读 · 0 评论 -
Leetcode(35)-- 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 输入: [1,3,5,6], 5 输出: 2 输入: [1,3,5,6], 2 输出: 1 输入: [1,3,5,6], 7 输出: 4 输入: [1,3,5,6], 0 输出: 0 方法的核心:二分法 class Solution: ...原创 2018-09-16 23:38:59 · 224 阅读 · 0 评论 -
Leetcode(28)-- 实现strStr()
给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 输入: haystack = "hello", needle = "ll" 输出: 2 输入: haystack = "aaaaa", needle = "bba" 输出: -1 class Solution:...原创 2018-09-16 23:03:22 · 146 阅读 · 0 评论 -
Leetcode(27)-- 移除元素
给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 给定 nums = [3,2,2,3], val = 3, 函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。 给定 nums = [0,1,2,2,3,0,4,2], v...原创 2018-09-16 21:19:41 · 232 阅读 · 0 评论 -
Leetcode(26)--删除排序数组中的重复项
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1,2给定 nums = [0,0,1,1,1,2,2,3,3,4], 函数应该返回...原创 2018-09-16 15:20:49 · 145 阅读 · 0 评论 -
LeetCode(20)-- 有效的括号
数据结构题 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 ()()[]{} 匹配 ([{()}]) 匹配 []( 不匹配 [(]) 不匹配 思路:只要遇到括号匹配的问题,我们就选择用栈,遇到左括号就进栈,遇到右括号,就判断栈顶元素是否与之匹配,匹配的话就pop出栈,不匹配的话就返回false。 class Solution: ...原创 2018-09-16 00:38:34 · 162 阅读 · 0 评论 -
Leetcode(70)--爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 1. 1 阶 + 1 阶 + 1 阶 2. 1 阶 + 2 阶 3. 2...原创 2018-09-30 00:29:19 · 173 阅读 · 0 评论