题目说明

三个或者三个以上颜色相同就删除
比如:红红黄黄绿绿绿绿黄蓝 消除完了之后是 红红蓝

实现代码

package leetcoode;import java.util.LinkedList;
public class XiaoXiaoLe {public static void main(String[] args) {//        String[] arr = {"red","red","yellow","yellow","green","green","green","green","yellow","blue"};String[] arr = {"red","red","red"};LinkedList<String> stack = new LinkedList<String>();for(int i = 0; i < arr.length; i ++) {String cur = arr[i];String last = i < arr.length - 1 ? arr[i + 1] : "";if(stack.isEmpty() || !stack.peekLast().equals(cur) || cur.equals(last)) {stack.add(cur);} else {String t1 = !stack.isEmpty() ? stack.peekLast() : "";String t2 = stack.size() > 1 ? stack.get(stack.size() - 2) : "";if(cur.equals(t1) && cur.equals(t2)) {while(!stack.isEmpty() && stack.peekLast().equals(cur)) {stack.pollLast();}} else {stack.add(cur);}}}if(stack.size()==0)System.out.println("所有颜色均被消除!");else {for(String color : stack)System.out.println(color);}}
}

【面试算法题】一维消除游戏相关推荐

  1. leetcode算法题-390.消除游戏

    列表 arr 由在范围 [1, n] 中的所有整数组成,并按严格递增排序.请你对 arr 应用下述算法: 从左到右,删除第一个数字,然后每隔一个数字删除一个,直到到达列表末尾. 重复上面的步骤,但这次 ...

  2. 【笔试面试题】腾讯2013实习生面试算法题及参考答案

    总结了一下自己遇到的以及同学遇到的面试算法题,是技术二面. 有几道题给出了参考答案,还有几道没有好的思路.路过的大侠如果有好的思路请留个言交流下呗~ 1.八数码问题:3*3的格子,有1~8个数,空了一 ...

  3. 常考面试算法题类型总结(来自知乎)

    作者:牛客网 链接:https://www.zhihu.com/question/24964987/answer/200681301 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

  4. Java常见的面试算法题:实现两个线程交替打印1到100的数

    Java常见的面试算法题:实现两个线程交替打印1到100的数 思路: 这是涉及到多个线程打印的问题,一定会用到锁的(synchronized),故这就是一个多线程打印的典型案例. 代码实现: pack ...

  5. 常见的面试算法题:创建几个线程按顺序打印数字或者字母(多线程编程)(套用该模板即可)

    常见的面试算法题:创建几个线程按顺序打印数字或者字母(多线程编程)(套用该模板即可) 比较典型的题目,如下有: 题目一: 1.启动3个线程打印递增的数字, 线程1先打印1,2,3,4,5, 然后是线程 ...

  6. 力扣高频算法php_互联网公司最常见的面试算法题有哪些?

    很多时候,你即使提前复习了这些最常见的面试算法题,你依旧无法通过算法面试! 为什么?你在提前准备复习的时候,在网上找了半天相应题目的分析文章,但你看了就是不懂. 你在面试的时候,卡壳了,一时间忘了怎么 ...

  7. 互联网公司最常见的面试算法题大集合!

      转载于 新智元   来源:Github 编辑:元子 [导读]LeetCode是一个美国的在线编程网站,收集了各个大厂的笔试面试题,对找工作的毕业生和开发者来说,非常有价值.很多求职者都会在Leet ...

  8. 一道小面试算法题的思路

    一道小算法题的思路 有这么一道小面试算法题:给定一个长度为 n 的整数数组,下标为 i 的元素表示第 i 天某个股票的价格,每次最多持有一股,每次买卖最多一股,在最多只买卖一次的情况下(先买后卖,不考 ...

  9. C++经典面试算法题

    #include <assert.h> #include <string.h> #include <stack>// // C++ 经典面试算法题 [7/28/20 ...

  10. 保研面试 算法题_GitHub - 13538899384/AlgorithmTest: 春招秋招笔试题目汇集

    秋招总结(Android开发工程师) 前言 从春招过渡秋招,连续半年时间都是努力奔波在求职路上,找工作确实非常累,无论是生理上还是心理上,记得我有次从广州跑过去深圳面完百度,接着面蘑菇街,再接着参加深 ...

最新文章

  1. 如何查看matlab的启动参数,如何使用多个参数在Matlab中执行“查找”?
  2. 如何修改博士论文?这份45页PPT《Editing your thesis》教你
  3. 链表倒置 (不额外开辟另一块空间)
  4. 32 usb 配置描述符_USB协议详解第4讲(USB描述符标准配置描述符)
  5. Ant Design Pro+Electron+electron-builder实现React应用脱离浏览器,桌面安装运行
  6. 项目中applicaiton.yml配置文件详细讲解
  7. 【项目管理】阿尔法项目经理的时间投入启示
  8. Unix网络-select
  9. Linux内核空间与用户空间信息交互方法
  10. dnf红眼补丁在哪下载_dnf狂战士技能血色补丁-DNF狂战士技能红色补丁下载 v3.23完全版--pc6下载...
  11. Android车载应用开发与分析(11)- 车载Android应用开发入门指南
  12. matlab高通滤波函数,巴特沃斯高通滤波器—matlab实现
  13. esp32-Arduino开发学习
  14. Linux下构建一个deb软件安装包
  15. 参加江大白手把手教你-----AidLux智慧安防AI训练营
  16. Nuxt - 自定义配置修改顶部加载条颜色(loding)
  17. Excel 查重小技巧,适用于office2003
  18. 计算机信息系统安全保护等级由低到高,网络信息系统安全保护等级分为几级?...
  19. 2023四川大学图书情报档案专业考研初试介绍(2023.1.02已更新)
  20. RISC-V IDE MRS使用笔记(七) :常用开发技巧汇总

热门文章

  1. python打开360浏览器_Selenium安装与360浏览器使用
  2. 基于MC1496乘法器的AM信号调制
  3. php用空格分隔字符串,分割字符串空格
  4. SPSS 25.0 软件安装教程
  5. java格式化日期24小时_Java如何格式化24小时格式的时间?
  6. C语言中32个关键字详解
  7. android wifi分析 实现原理,解析android 流量监测的实现原理
  8. easydarwin php,EasyDarwin返回401 Unauthorized解决方法
  9. 基于JavaWeb的小型超市管理系统的设计与实现
  10. 个推科普漫画,解读《女心理师》中的智能语音识别系统