1 239 Sliding Window Maximun 双端队列

    public int[] maxSlidingWindow(int[] nums, int k) {
if (nums == null || k <= 0) return new int[0];
int n = nums.length;
int[] r = new int[n - k + 1];
int ri = 0;
Deque<Integer> q = new ArrayDeque<>();
for (int i = 0; i < nums.length; i++)
{
while (!q.isEmpty() && q.peek() < i - k + 1){
q.poll();
}
while (!q.isEmpty() && nums[q.peekLast()] < nums[i])
{
q.pollLast();
}
q.offer(i);
if (i >= k - 1)
{
r[ri++] = nums[q.peek()];
}
}
return r;
}

2 134 Gas Station  比较用的和有的,两个结论

    public int canCompleteCircuit(int[] gas, int[] cost) {
if(gas==null || gas.length==0 || cost==null || cost.length==0 || gas.length!=cost.length)
return -1;
int total = 0, sum = 0, point = -1;
for (int i = 0; i < gas.length; i++)
{
int diff = gas[i] - cost[i];
total += diff; sum += diff;
if (sum < 0){
sum = 0; point = i;
}
}
return total >= 0 ? point + 1: -1;
}

3 135 Candy

    public int candy(int[] ratings) {
int[] candys = new int[ratings.length];
Arrays.fill(candys, 1);
for (int i = 1; i < ratings.length; i++)
{
if (ratings[i] > ratings[i-1])
candys[i] = candys[i - 1] + 1;
}
for (int i = ratings.length - 2; i >= 0; i--)
{
if (ratings[i] > ratings[i+1])
candys[i] = Math.max(candys[i], candys[i + 1] + 1);
}
int res = 0;
for(int i : candys)
{
res += i;
}
return res;
}

最新文章

  1. staxon实现json和xml互转
  2. RAC+asm通过rman恢复到单实例+asm
  3. Win7 下安装VirtualBox 没有Ubuntu 64bit 选项问题
  4. RGB
  5. 在MyEclipse中搭建Spring MVC开发环境
  6. VVDocumenter-Xcode 规范注释生成器 插件之安装调试适应新版本
  7. Android IOS WebRTC 音视频开发总结(六四)-- webrtc能走多远我不知道,但这个市场真实存在
  8. MySQL与Oracle 差异比较之四条件循环语句
  9. yii2-admin 插件使用简要教程
  10. Map的遍历方法及String和其它类型的相互转化
  11. HTTP2协议之HPACK--之头部压缩规范介绍
  12. 遍历map的几种方式
  13. 好程序员web前端分享HTML基本结构和基本语法
  14. 要求必须全部重复的数据sql--想了半天才写出来的
  15. java设计模式自我总结---代理模式
  16. Android的发展历程及搭建
  17. linux系统安装apache服务器
  18. Python爬虫学习——获取网页
  19. fiddler script建议教程
  20. 什么是SEO服务,企业为什么要做SEO?

热门文章

  1. 升级vue全家桶过程记录
  2. 用nodejs调用webservice
  3. ThreadLocal使用原理、注意问题、使用场景
  4. Hadoop初步学习
  5. Appcan 日期控件
  6. Confluence迁移
  7. LNet代码分析
  8. RobotFramework + HTTP接口自动化实现
  9. 关于ArrayList的扩容机制
  10. 十分钟教你理解TypeScript中的泛型