Java实现 LeetCode 390 消除游戏
390. 消除游戏
给定一个从1 到 n 排序的整数列表。
首先,从左到右,从第一个数字开始,每隔一个数字进行删除,直到列表的末尾。
第二步,在剩下的数字中,从右到左,从倒数第一个数字开始,每隔一个数字进行删除,直到列表开头。
我们不断重复这两步,从左到右和从右到左交替进行,直到只剩下一个数字。
返回长度为 n 的列表中,最后剩下的数字。
示例:
输入:
n = 9,
1 2 3 4 5 6 7 8 9
2 4 6 8
2 6
6
输出:
6
PS:
最下面那一行是真正大佬的思路
class Solution {public int lastRemaining(int n) {boolean isNormal = true;int len = n;int start = 1;int step = 1;while (len > 1) {if (isNormal) {start = start + step;} else {start = len % 2 == 0 ? start : start + step;}step = step * 2;len = len / 2;isNormal = !isNormal;}return start;// return n == 1 ? 1 : 2 * (n / 2 + 1 - lastRemaining(n / 2));}
}
Java实现 LeetCode 390 消除游戏相关推荐
- [LeetCode]390.消除游戏
[LeetCode]390.消除游戏 题目 示例 方法 模拟 题目 列表 arr 由在范围 [1, n] 中的所有整数组成,并按严格递增排序.请你对 arr 应用下述算法: 从左到右,删除第一个数字, ...
- LeetCode 390. 消除游戏
390. 消除游戏 给定一个从1 到 n 排序的整数列表. 首先,从左到右,从第一个数字开始,每隔一个数字进行删除,直到列表的末尾. 第二步,在剩下的数字中,从右到左,从倒数第一个数字开始 ...
- LeetCode 390. 消除游戏(类似约瑟夫环,找映射规律)
1. 题目 给定一个从1 到 n 排序的整数列表. 首先,从左到右,从第一个数字开始,每隔一个数字进行删除,直到列表的末尾. 第二步,在剩下的数字中,从右到左,从倒数第一个数字开始,每隔一个数字进行删 ...
- LeetCode——390.消除游戏
大佬,牛!!! 题目:给定一个n,然后从1开始删除元素,各一个删一个,一直到n,然后再反向删除,也是各一个删一个,都是从剩下的元素中的第一个开始删除,最终数组剩下一个元素,返回这个元素即可.[1, 2 ...
- Leetcode 390.消除游戏
题目地址 思路 第一种方法肯定是遍历,暴力删除,但是数据量一大就容易超时. 第二种方法,我们想到利用等差数列来进行模拟. 我们定义首项a0,公差为d,项数为size. 其中公差每次都是翻倍,项数每次都 ...
- LeetCode:390. 消除游戏————中等
题目 390. 消除游戏 列表 arr 由在范围 [1, n] 中的所有整数组成,并按严格递增排序.请你对 arr 应用下述算法: 从左到右,删除第一个数字,然后每隔一个数字删除一个,直到到达列表末尾 ...
- 390. 消除游戏(约瑟夫环)
390. 消除游戏 列表 arr 由在范围 [1, n]中的所有整数组成,并按严格递增排序.请你对 arr 应用下述算法: 从左到右,删除第一个数字,然后每隔一个数字删除一个,直到到达列表末尾. 重复 ...
- leetcode 390. Elimination Game | 390. 消除游戏(Java)
题目 https://leetcode.com/problems/elimination-game/ 题解 方法1:模拟(内存超出限制) 最朴素的思路,模拟每一轮的消除,直到剩余大小为 1 为止. 此 ...
- 【LeetCode】390. 消除游戏
题目 给定一个从1 到 n 排序的整数列表. 首先,从左到右,从第一个数字开始,每隔一个数字进行删除,直到列表的末尾. 第二步,在剩下的数字中,从右到左,从倒数第一个数字开始,每隔一个数字进行删除,直 ...
最新文章
- Android在xml中定义Shape
- JS详细入门教程(上)
- boost::hana::max用法的测试程序
- 批评代码而不是人!15年程序员的职场箴言
- 排队问题解题思路_1120各数的认识解决问题
- 【Spring学习】spring依赖注入用法总结
- java小程序显示多种按钮_微信小程序 多行文本显示...+显示更多按钮和收起更多按钮功能...
- 安全出口指示灯警报、如何解除呢
- 取消endnotes参考文献格式域的步骤_大学体悟-毕业论文格式篇
- Oracle RAC备份异机单实例恢复演练
- Vmware Linux设置固定IP
- 计算机学科 集体备课记录,信息技术学科组集体备课活动记录
- 一个OpenMP的学习程序
- 儿童机器人编程语言_机器人十大流行编程语言的介绍
- 下载历史版本的英伟达显卡驱动
- d3.js 旋转图形_凭布青云拼布图形设计软件下载-布艺设计软件 v2.0.0.1 官方版
- 古诗文网站的网络爬虫编写方式,通过网络爬虫抓去内容
- win10设置Ctrl+Shift切换输入法
- 什么是 IoT App SDK?
- wireshark插件 - 添加UI子树, 向子树上添加分析后的文本