leetcode第一天
leetcode 第一天
2017年12月24日
第一次刷leetcode真的是好慢啊,三道题用了三个小时,而且都是简单题。
数组
1.(674)Longest Continuous Increasing Subsequence

JAVA
class Solution {
public int findLengthOfLCIS(int[] nums) {
int tem = 1 , length = 1;
if(nums.length==0) return 0;
for (int i = 0;i<nums.length -1;i++){
if ( nums[i+1] - nums[i] > 0){
tem ++;
length = Math.max(tem,length);
}else{
tem = 1;
}
}
return length;
}
}
Python
class Solution(object):
def findLengthOfLCIS(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
max_len = tem_len = 1
if len(nums)==0:
return 0
for i in range(len(nums)-1):
if nums[i+1] >nums [i]:
tem_len += 1
max_len = max(tem_len,max_len)
else:
tem_len = 1
return max_len
2.(283)Move Zeroes

JAVA
class Solution {
public void moveZeroes(int[] nums) {
int pointer = 0;
for (int i = 1; i<nums.length;i++){
if(nums[i]-nums[pointer] == nums[i]){
if(nums[i] != 0){
nums[pointer] = nums[i];
nums[i]=0;
pointer++;
}
}else pointer++;
}
}
}
Python
class Solution(object):
def moveZeroes(self, nums):
"""
:type nums: List[int]
:rtype: void Do not return anything, modify nums in-place instead.
"""
pointer = 0
for i in range(len(nums)):
if(nums[i]-nums[pointer] == nums[i]):
if(nums[i]!=0):
nums[pointer] = nums[i]
nums[i] = 0
pointer +=1
else:
pointer+=1
3.(581)Shortest Unsorted Continuous Subarray

算法:1.先找到排序错误子集的起止点和终止点。2.计算该子集内的最大值最小值。3.判断前部分序列是否有大于子集最小值的部分,后部分序列是否有小于最大值的部分。如果有则修改子序列起始点终点
JAVA
class Solution {
public int findUnsortedSubarray(int[] nums) {
boolean isFirst = true;
int left = 0,right = 0,min = Integer.MAX_VALUE,max=Integer.MIN_VALUE;
for(int i = 0;i<nums.length-1;i++){
if(nums[i+1] < nums[i]){
if(isFirst){
left = i;
right = i+1;
isFirst = false;
}else{
right = i+1;
}
}
}
for (int i = left;i<=right;i++){
min = Math.min(min,nums[i]);
max = Math.max(max,nums[i]);
}
for(int i=0;i <= left;i++){
if(nums[i] > min){
left = i;
}
}
for(int i = nums.length-1 ; i>=right;i--){
if(nums[i]<max){
right = i;
}
}
return right==0?0:right-left+1;
}
}
leetcode第一天的更多相关文章
- Leetcode 第一遍刷完
2014/10/15 Leetcode第一刷总算结束,时间拖太长了,希望第二遍能快一点,争取一个月能刷完第二遍??哈哈哈哈
- leetcode第一题(easy)
第一题:题目内容 Given an array of integers, return indices of the two numbers such that they add up to a sp ...
- 有人相爱,有人夜里开车看海,有人leetcode第一题都做不出来。
第一题 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数 ...
- leetcode第一刷_Set Matrix Zeroes
这个题乍一看非常easy,实际上还挺有技巧的.我最開始的想法是找一个特殊值标记.遇到一个0,把他所相应的行列中非零的元素标记成这个特殊值.0值保持不变,然后再从头遍历一次,碰到特殊值就转化成0. 问题 ...
- leetcode第一刷_Permutations II
当有反复元素的时候呢? 不用拍脑袋都会想到一种方法,也是全部有反复元素时的通用处理方法,维护一个set,假设这个元素没增加过就增加,增加过了的忽略掉.可是,在这道题上这个通用方法竟然超时了! 怎么办? ...
- leetcode第一刷_Populating Next Right Pointers in Each Node II
很自然的推广,假设去掉全然二叉树的条件呢?由于这个条件不是关键,因此不会影响整体的思路.做法依旧是每次找到一层的起点,然后一层一层的走. 假设是全然二叉树的话,每层的起点就是上一层起点的左孩子,兄弟之 ...
- leetcode第一刷_Merge Intervals
看到这个题我就伤心啊,去微软面试的时候,第一个面试官让我做的题目就是实现集合的交操作,这个集合中的元素就像这里的interval一样.是一段一段的.当时写的那叫一个慘不忍睹.最后果然被拒掉了. .好好 ...
- leetcode第一刷_N-Queens
八皇后问题应该是回溯法的教学典范.在本科的时候,有一门课叫面向对象.最后的附录有这个问题的源码.当时根本不懂编程,照抄下来,执行一下出了结果都非常开心,哎. 皇后们的限制条件是不能同行同列,也不能同对 ...
- leetcode第一刷_Gray Code
说到格雷码,应该没人不知道,详细它有什么用,我还真不是非常清楚,我室友应该是专家.生成的规律不是非常明显,之前看到帖子讲的,这会儿找找不到了.. 思想是这种,假设有n位,在第2^(n-1)个编码以下画 ...
随机推荐
- 谈Ajax的Get和Post的区别
Get方式: 用get方式可传送简单数据,但大小一般限制在1KB下,数据追加到url中发送(http的header传送),也就是说,浏览器将各个表单字段元素及其数据按照URL参数的格式附加在请求行 ...
- 捕获arm非托管磁盘虚拟机,并进行还原
背景:非托管磁盘虚拟机"hlmcen69n1",附加了一块100GB的数据磁盘.由于arm非托管磁盘机器无法通过Portal界面直接"Capture",故只能通 ...
- SQLSERVER存储过程语法详解
CREATE PROC [ EDURE ] procedure_name [ ; number ] [ { @parameter data_type } [ VARYING ] [ = default ...
- CopyOnWriteArrayList集合排序异常问题
1.集合自定义排序实现 对List集合的自定义排序想必大家都知道要使用如下的方式,通过实现Comparator接口并实现compare方法来实现. /** * * @方法名 changeChain * ...
- TinyXML 的简单介绍以及使用
先说几句重点: 1,tinyxml 生成或解析XML非常好用 2,tinyxml 利用DOM(文档对象模型)操作XML,根节点与各个子节点相当于形成一棵树 3,只要你了解tinyxml的用法,可以只n ...
- awk ‘! a[$0]++’ 去重
awk '! a[$0]++' 怎么理解? 这是一个非常经典的去重复项的awk语句,虽然短小,不过涉及到了不少知识点,下面一一解读: <1> :"!" 即非. < ...
- 【转】sed & awk常用正则表达式
正则表达式元字符 正则表达式中有两种基本元素: 以字面值或变量表示的值(如.代表任意单个字符). 操作符(如*代表将前面的字符重复任意次). 元字符汇总 特殊字符 用途 . 匹配除换行符以外的任意单个 ...
- 【转】ArcGIS中File Geodatabase与Personal Geodatabase的区别
原文地址:ArcGIS中File Geodatabase与Personal Geodatabase的区别作者:最爱忆宝贝 一.平台支援: 1.Personal Geodatabase:仅可在Windo ...
- grep使用技巧一:模式pattern为字符串文件
pattern文件: antc areq bdos bogt …… igs.txt文件: abmf 298.4725 16.2623 abpo 47.2292 -19 ...
- 【Java框架型项目从入门到装逼】第十五节 - jdbc模糊查询实现(附带详细调试过程)
上一节,我们实现了用户列表查询,已经按条件精确查询: if(student.getUsername() != null && !"".equals(student. ...