leetcode
文章平均质量分 53
爱跑步的george
北京邮电大学
展开
-
leetCode8: String to Integer (atoi)
实现将字符串转换为整数从头开始去掉空字符,直到找到第一个非空白字符;从这个字符开始(开头字符可以是整数,正号或负号),后面跟随数字;如果开头字符不是整数,正号或负号,则返回0如果数字大于(2**31 − 1)或者小于(−2**31) ,则返回 (2**31 − 1) 或 (−2**31) 遇到小数要转换成整数如果为空字符串或其他情况,全部返回0Example 1:Inpu...原创 2018-05-11 16:01:40 · 132 阅读 · 0 评论 -
in_place操作
in-place操作,意思是所有的操作都是”就地“操作,不允许进行移动,或者称作 原位操作,即不允许使用临时变量。 举个例子,大家经常写也经常用到的"交换两个数的值":// 设置初始值int x = 1,y = 2;121)最先想到的方法,就是设置中间变量// 设置中间变量int temp;temp = x;x = y;y = temp;123452)然而要满足in-...转载 2018-12-26 20:48:24 · 488 阅读 · 0 评论 -
滑动窗口问题——固定窗口长度长度 leetcode438. Find All Anagrams in a String
固定长度的字典,固定长度的滑动窗口是一个很好的思路class Solution(object): def findAnagrams(self, s, p): res = [] n, m = len(s), len(p) if n < m: return res phash, shash = [0]*123, [0]*1...原创 2018-12-28 17:20:21 · 645 阅读 · 0 评论 -
告诉你,letcode刷题这样刷
LeetCode算法题有800多道,到底怎么刷呢,这是我看视频教程上给的顺序,按照知识点总结的分组顺序,可以试试哦第一组:283 27 26 80第二组:75 88 215第三组:125 344 11第四组:209 3 438 76第五组349 350 242 290 205 451第六组1 - 15 - 18 - 16第七组454- 49 - 447- 1...原创 2018-12-30 11:19:37 · 1574 阅读 · 0 评论 -
leetcode指针变换逻辑
24. Swap Nodes in Pairs1.simple这个解法是错误的,网友指出了You may not modify the values in the list’s nodes, only nodes itself may be changed. 忽略了这个条件class Solution: def swapPairs(self, head): cur =...原创 2019-01-08 21:07:54 · 152 阅读 · 0 评论 -
python insert函数可以插入不存在的index
>>> a = []>>> a.insert(3,1)>>> a>>>[1]406. Queue Reconstruction by Height可以做一下上边的题来练习一下原创 2019-01-16 20:58:56 · 1149 阅读 · 0 评论 -
二分查找的循环条件中'='应该加上吗
852. 山脉数组的峰顶索引这里的问题是l<=r 搭配mid+1 mid-1而l<r搭配midclass Solution: def peakIndexInMountainArray(self, A): """ :type A: List[int] :rtype: int ""&a原创 2019-02-20 11:03:35 · 545 阅读 · 1 评论 -
在leetcode中,'='写成了“==”,好多次找不到bug在哪里,会死的很惨
class Solution: def permuteUnique(self, nums: List[int]) -> List[List[int]]: nums.sort() self.used=[False]*len(nums) l=[] def back(tmp): if len(tmp)=...原创 2019-03-10 22:06:13 · 143 阅读 · 0 评论 -
2019春 头条校招笔试题——找零钱
凑零钱有,1,4,16,64四种硬币,假如你有1024元,消费N元,问应该找给你最少多少个硬币?x=1024-int(input())def minCoins(x): coins = [1,4,16,64] money = x kind = 4 if(0 == money): break dp=[0]*(...原创 2019-03-18 23:28:20 · 298 阅读 · 0 评论 -
python2和python3的 leetcoed刷题效率对比
474. 一和零下面这段代码在python2中可以通过,但是在python3中没有通过,所以python2和python3的效率差别在哪里呢?class Solution(object): def findMaxForm(self, strs, m, n): """ :type strs: List[str] :type m: int ...原创 2019-04-17 11:02:37 · 1734 阅读 · 0 评论 -
32. 最长有效括号——简单解法
给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: “(()”输出: 2解释: 最长有效括号子串为 “()”示例 2:输入: “)()())”输出: 4解释: 最长有效括号子串为 “()()” def longestValidParentheses(self, s): dp, stack = [0]*(len(s) + 1...原创 2019-06-03 20:20:50 · 158 阅读 · 0 评论 -
673. 最长递增子序列的个数
给定一个未排序的整数数组,找到最长递增子序列的个数。示例 1:输入: [1,3,5,4,7]输出: 2解释: 有两个最长递增子序列,分别是 [1, 3, 4, 7] 和[1, 3, 5, 7]。示例 2:输入: [2,2,2,2,2]输出: 5解释: 最长递增子序列的长度是1,并且存在5个子序列的长度为1,因此输出5。注意: 给定的数组长度不超过 2000 并且结果一定是32位有...原创 2019-06-03 23:15:45 · 155 阅读 · 0 评论 -
leetcode 309. Best Time to Buy and Sell Stock with Cooldown 状态机解法
Say you have an array for which the ith element is the price of a given stock on day i.Design an algorithm to find th...原创 2019-06-04 16:55:07 · 185 阅读 · 0 评论 -
Java刷leetcode入门
首先需要明白java的几个基本的概念一个java文件中最多只能有一个public类,如果要运行函数,必须在这个类中定义public static void main(String args [])函数二叉树这样的leetcode题在本地是很难调试的,所以基本放弃,或者把Leetcode里边内置处理二叉树的代码copy到本地来进行调试,因为要把输入构建成一个二叉树需要费点功夫为什么要用Li...原创 2019-08-13 14:42:10 · 1397 阅读 · 0 评论 -
怎么用python刷leetcode
我的方法只适合连数据结构都不扎实的菜鸡选手~不要完全按tag!头一次刷,先把这五个tag做了:array,string,tree,linkedlist,math,其它的千万别按tag刷。这样不存在前面答案说的思维暗示问题,反而帮助巩固数据结构,还可以自己归纳某种数据结构的全部技巧~每个tag内部就按照easy-medium-hard的顺序做,这样最开始一天刷10道easy,后面熟了这个数据结构...转载 2018-11-18 14:58:28 · 2365 阅读 · 0 评论 -
leetcode:把数组排成最小的数
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。# -*- coding:utf-8 -*-class Solution: def PrintMinNumber(self, numbers): # write code here ...原创 2018-10-29 10:04:13 · 941 阅读 · 0 评论 -
leetcode6: ZigZag Conversion ——python
题目The string “PAYPALISHIRING” is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)P A H NA P L ...原创 2018-05-08 00:45:56 · 266 阅读 · 0 评论 -
leetcode9. Palindrome Number + 第一次机器学习实习面试总结
这道题虽然很简单,但是为了养成好习惯,还是把这个题分享一下吧。Example 1:Input: 121Output: trueExample 2:Input: -121Output: falseExample 3:Input: 10Output: falseAnswer1:class Solution(object): def isPalind...原创 2018-05-27 22:04:53 · 240 阅读 · 0 评论 -
leetcode11. Container With Most Water 盛水最多的容器
题目要求:给一个数组,其中数组在下标i处的值为A[i],坐标(i,A[i])和坐标(i,0)构成一条垂直于坐标轴x的直线。现任取两条垂线和x轴组成四边形容器。问其中盛水量最大为多少?思路一:暴力的双重循环这种实现非常原始,在这里就不赘述了,时间复杂度为O(n2),在数据量较大的时候,性能很差思路二:双指针减少循环的核心思路是省去没有必要的遍历,并且确保所需的答案一定能被...原创 2018-05-30 10:36:17 · 174 阅读 · 0 评论 -
leetcode 12. Integer to Roman
答案1class Solution: def intToRoman(self, num): def transfer(x,m,n,p): if x <4: x = n * x elif x == 4: x = n + m elif...原创 2018-05-30 16:33:51 · 105 阅读 · 0 评论 -
leetcode 13. Roman to Integer
答案一class Solution: def romanToInt(self, s): num = 0 full = ['I','II','III','IV','V','VI','VII','VIII','IX','X','XX','XXX','XL','L','LX','LXX','LXXX','XC','C','CC','CCC','CD','D',...原创 2018-05-30 19:45:05 · 105 阅读 · 0 评论 -
leetcode 14. Longest Common Prefix
答案一class Solution: def longestCommonPrefix(self, strs): str_len = len(strs) s_pre = '' j = 0 while True: for i in range(1,str_len): if...原创 2018-05-31 11:03:17 · 119 阅读 · 0 评论 -
leetcode2: addTwoSum
You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return i...原创 2018-06-22 22:57:46 · 135 阅读 · 0 评论 -
leetcode617. Merge Two Binary Trees
Merge Two Binary Trees官网题目地址def mergeTrees(self, t1, t2): if not t1 and not t2: return None ans = TreeNode((t1.val if t1 else 0) + (t2.val if t2 else 0)) ans.left = self.mergeTrees(t1 ...原创 2018-10-01 10:48:47 · 87 阅读 · 0 评论 -
leetcode500. Keyboard Row
Given a List of words, return the words that can be typed using letters of alphabet on only one row’s of American keyboard like the image below.Example 1:Input: [“Hello”, “Alaska”, “Dad”, “Peace”]O...原创 2018-09-27 10:39:45 · 112 阅读 · 0 评论 -
leetcode868. Binary Gap
Binary GapGiven a positive integer N, find and return the longest distance between two consecutive 1’s in the binary representation of N.If there aren’t two consecutive 1’s, return 0.Example 1:...原创 2018-09-27 17:03:14 · 176 阅读 · 0 评论 -
leetcode709. To Lower Case
Example 1:Input: "Hello"Output: "hello"Example 2:Input: "here"Output: "here"Example 3:Input: "LOVELY"Output: "lovely"1、ord() and char()class Solution: def toLowerCase(self, str):原创 2018-09-27 17:18:54 · 185 阅读 · 0 评论 -
中国移动通信研究院笔试题2
小B所在的公司正在开发一个网络游戏项目,他们需要解决场景中攻击双方的占位问题。根据场景设计,攻击双方可能位于某个四边形区域中。所有的攻击方沿直线方向,若攻击目标所在区域与攻击线有交点才能被击中。直线可以表达为Ax+by+C=0。小B希望确定按指定参数发出的攻击时,给定的区域是否可能被击中。输入输入中有多组测试数据。每组测试数据的第一行包含四个空格分隔的整数A、B和C和N,(-210^9<...原创 2018-10-21 22:50:08 · 5134 阅读 · 0 评论 -
牛客网LeetCode:求1+2+3+...+n
求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。# -*- coding:utf-8 -*-class Solution: def __init__(self): self.sum = 0 def Sum_Solution(self, n): # write...原创 2018-10-29 09:35:58 · 175 阅读 · 0 评论 -
c++刷leetcode入门
#include <vector>// 这个必须加上,要不然报错#include <iostream>// 这个必须加上,要不然报错#include <cmath>// 这个必须加上,要不然报错#include "leetcode279_24Game.h"using namespace std;// 这个必须加上,要不然报错class S...原创 2019-08-13 19:27:48 · 991 阅读 · 0 评论