LeetCode第七天
数组 Medium
40.(162)Find Peak Element

JAVA
//斜率思想,二分法
class Solution {
public int findPeakElement(int[] nums) {
int l=0,r=nums.length-1;
while(l<r){
int mid = (r+l)/2;
if(nums[mid]>nums[mid+1])
r = mid;
else
l = mid+1;
}
return l;
}
}
41.(731)My Calendar II

JAVA
public class MyCalendarTwo {
List<int[]> calendar;
List<int[]> overlaps;//已经重叠过一次的区间
MyCalendarTwo() {
calendar = new ArrayList();
overlaps = new ArrayList();
}
public boolean book(int start, int end) {
for (int[] iv: overlaps) {
if (iv[0] < end && start < iv[1]) return false;
}
for (int[] iv: calendar) {
if (iv[0] < end && start < iv[1])
overlaps.add(new int[]{Math.max(start, iv[0]), Math.min(end, iv[1])});
}
calendar.add(new int[]{start, end});
return true;
}
}
42.(153)Find Minimum in Rotated Sorted Array

JAVA
class Solution {
public int findMin(int[] nums) {
int l = 0;
int r = nums.length-1;
while(l<r){
int mid = (l+r)/2;
if(nums[mid]<nums[r])
r = mid;
else
l = mid+1;
}
return nums[r];
}
}
class Solution {
public int findMin(int[] nums) {
return find(nums,0,nums.length-1);
}
public int find(int[] nums, int l, int r) {
if(nums[l] <= nums[r]) {
return nums[l];
}
int mid = (l + r) / 2;
return Math.min(find(nums,l,mid),find(nums,mid+1,r));
}
}
43.(152)Maximum Product Subarray

JAVA
class Solution {
public int maxProduct(int[] nums) {
if(nums.length == 0){
return 0;
}
int maxPre = nums[0];
int minPre = nums[0];
int max = nums[0];
for(int i =1;i<nums.length;i++){
int maxHere = Math.max(Math.max(maxPre*nums[i],minPre*nums[i]),nums[i]);
int minHere = Math.min(Math.min(maxPre*nums[i],minPre*nums[i]),nums[i]);
max = Math.max(max,maxHere);
maxPre = maxHere;
minPre = minHere;
}
return max;
}
}
44.(611)Valid Triangle Number

JAVA
class Solution {
public int triangleNumber(int[] nums) {
int count = 0;
Arrays.sort(nums);
for(int i =0;i<nums.length-2;i++){
if(nums[i]==0)
continue;
int k = i+2;
for(int j = i+1;j<nums.length-1;j++){
while(k<nums.length&&nums[i]+nums[j]>nums[k])
k++;
count += k-j-1;
}
}
return count;
}
}
45.(621)Task Scheduler

JAVA
//计算休眠时间,再加上任务时间等于总时间
class Solution {
public int leastInterval(char[] tasks, int n) {
int[] map = new int[26];
for(char c : tasks)
map[c-'A']++;
Arrays.sort(map);
int idle = (map[25] -1)*n;
for(int i=24;i>=0&&map[i]>0;i--){
idle -= Math.min(map[i],map[25]-1);
}
return idle >0 ? tasks.length+idle:tasks.length;
}
}
LeetCode第七天的更多相关文章
- C#版 - Leetcode 504. 七进制数 - 题解
C#版 - Leetcode 504. 七进制数 - 题解 Leetcode 504. Base 7 在线提交: https://leetcode.com/problems/base-7/ 题目描述 ...
- [递归回溯] LeetCode 504七进制数(摸鱼版)
LeetCode 七进制数 前言: 这个就没什么好说的了 题目:略 步入正题 进位制转换 10 -n 余数加倒叙 没什么好讲的直接上七进制代码 偷个懒 10进位制转7 class Solution { ...
- leetcode第七题--Reverse Integer
Problem: Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 ...
- Java实现 LeetCode 504 七进制数
504. 七进制数 给定一个整数,将其转化为7进制,并以字符串形式输出. 示例 1: 输入: 100 输出: "202" 示例 2: 输入: -7 输出: "-10&qu ...
- leetcode第七题Reverse Integer (java)
Reverse Integer Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, retu ...
- LeetCode第七题
Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 Have you ...
- 领扣(LeetCode)七进制数 个人题解
给定一个整数,将其转化为7进制,并以字符串形式输出. 示例 1: 输入: 100 输出: "202" 示例 2: 输入: -7 输出: "-10" 注意: 输入 ...
- LeetCode 第七题--整数反转
1. 题目 2.思路 1. 题目 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123输出: 321 示例 2: 输入: -123输出: -321示例 ...
- [LeetCode] Base 7 基数七
Given an integer, return its base 7 string representation. Example 1: Input: 100 Output: "202&q ...
随机推荐
- python3 第十六章 - 函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以自己创建函数,这被 ...
- TCP/IP详解 卷1 第二十章 TCP的成块数据流
先补充一个知识: 1.停止等待协议:是tcp保证传输可靠的重要途径,"停止等待"就是指发送完一个分组就停止发送,等待对方确认之后,才能继续发送下一个分组 停止等待协议的优点是简单, ...
- SuperMap iClient for JavaScript初入
SuperMap iClient for JavaScript初入 介绍SuperMap for Js的简单使用. 推荐先看下这篇文档:SuperMap iClient for JavaScript ...
- 常用API
1 System类 System类包含一些有用的类和字段.它不能被实例化. 属性和方法都是静态的. 1.1 常见方法 返回以毫秒为单位的当前时间 public static long currentT ...
- awk说明书(转)
ref:http://blog.chinaunix.net/uid-429659-id-122573.html awk使用手册 作者:awk使用手册什么是awk? 你可能对UNIX比较熟悉,但你可能对 ...
- Matlab 多项式拟合、稳健滤波等实用函数
Function summary http://www.biomecardio.com/matlab/index.html clinspace Curvilinearly spaced points ...
- 关于MyEclipse启动报错:Error starting static Resources;下面伴随Failed to start component [StandardServer[8005]]; A child container failed during start.的错误提示解决办法.
最后才发现原因是Tomcat的server.xml配置文件有问题:apache-tomcat-7.0.67\conf的service.xml下边多了类似与 <Host appBase=" ...
- 接口中定义变量必须为public static final的原因
在interface里面的变量默认都是public static final 的,原因如下: 1. 接口是一种高度抽象的"模版",,而接口中的属性也就是’模版’的成员,就应当是 ...
- Java设计模式之策略模式与状态模式
版权声明:本文出自汪磊的博客,转载请务必注明出处. 一.策略模式定义 定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们之间可以相互替换,策略模式可以在不影响客户端的情况下发生变化. ...
- Axure的中继器如何实现两个列表之间的交互
Axure RP 8安装包+注册码+中文语言包下载地址如下: 链接: https://pan.baidu.com/s/1nwRnCUl 密码: yy36 将中文语言包下的lang文件夹直接放在安装Ax ...