【LeetCode】390.消除游戏
一、描述
给定一个从1 到 n 排序的整数列表。
首先,从左到右,从第一个数字开始,每隔一个数字进行删除,直到列表的末尾。
第二步,在剩下的数字中,从右到左,从倒数第一个数字开始,每隔一个数字进行删除,直到列表开头。
我们不断重复这两步,从左到右和从右到左交替进行,直到只剩下一个数字。
返回长度为 n 的列表中,最后剩下的数字。
二、示例
示例:
输入:
n = 9,
1 2 3 4 5 6 7 8 9
2 4 6 8
2 6
6输出:
6
三、分析
边界条件
if(n == 1)return 1;
if(n <= 4)return 2;
当 n > 4
时,由于奇数在第一轮删除中就被干掉了,所以若 n 为偶数时,n + 1
与 n
具有相同的结果。
if(n % 2 == 1)n = n - 1;
四、实现
class Solution {public:int lastRemaining(int n) {if (n == 1)return 1;if (n <= 4)return 2;if(n % 2 == 1)n = n - 1;if (n % 4 != 0)return 4 * lastRemaining(n / 4);elsereturn 4 * lastRemaining(n / 4) - 2;}
};
【LeetCode】390.消除游戏相关推荐
- [LeetCode]390.消除游戏
[LeetCode]390.消除游戏 题目 示例 方法 模拟 题目 列表 arr 由在范围 [1, n] 中的所有整数组成,并按严格递增排序.请你对 arr 应用下述算法: 从左到右,删除第一个数字, ...
- Java实现 LeetCode 390 消除游戏
390. 消除游戏 给定一个从1 到 n 排序的整数列表. 首先,从左到右,从第一个数字开始,每隔一个数字进行删除,直到列表的末尾. 第二步,在剩下的数字中,从右到左,从倒数第一个数字开始,每隔一个数 ...
- 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 排序的整数列表. 首先,从左到右,从第一个数字开始,每隔一个数字进行删除,直到列表的末尾. 第二步,在剩下的数字中,从右到左,从倒数第一个数字开始,每隔一个数字进行删除,直 ...
最新文章
- 项目中使用oracle序列
- 关于html和CSS的几个基本知识点
- MatLab 自编的 均值滤波、中值滤波、高斯滤波 图像处理函数
- SwiftUI之深入解析如何定制视图的动画和转场
- mysql数据库引擎InnoDB和MyISAM的区别
- 【CSON原创】HTML5字体动态粒子效果发布
- python自动化测试常见面试题二_思考|自动化测试面试题第二波
- [LeetCode] Remove Element 分析
- XNOR.ai融资1200万美元
- linux 0.11 返回用户侧,iPhone 11 11 Pro 用户必备教程:重启手机,恢复模式,DFU模式...
- win2008r2 惠普g160鼠标_惠普M260鼠标驱动简单体验
- Ubuntu 隐藏上方状态栏、左边任务栏及菜单按钮移到下方居中及隐藏(详细)
- 如何用photoshop做24色环_photoshop制作漂亮色环的教程(2)
- 图书isbn批量生成一维条码
- 根据身份证号判断年龄
- 2021-4-21大学化学无机原理(8)缓冲溶液及pH值的计算,溶度积规则。
- 【Android QR Code】开源项目:ZXing(三)二维码解码
- 【文献阅读】Commission Fee is not Enough: A Hierarchical Reinforced Framework for Portfolio Management
- Imagination领先IP助力国产处理器 从芯片走向解决方案
- nodejs中解决发出响应数据正常但是浏览器没有正确显示的问题
热门文章
- JVM 的内存结构和内存分配
- springboot初始化加载数据_Spring Boot配置数据加载大全
- access 导入 txt sql语句_从零开始学习 MySQL 系列索引、视图、导入和导出
- 异或运算_专题 | 异或运算的一些应用
- 静态配置_Linux网络配置之NAT静态ip配置
- 看准网点评没有了_大众点评“亡”于2020
- java怎么添加地图_javaweb怎样添加百度地图
- 关于计算机图形标准化的论述 哪个是正确的,地大《计算机图形学(新)》在线作业 参考资料...
- cpu烤机工具_MySQL常用工具选择和建议
- 3 实现模糊遮罩_有了这3个神器,你就不用为抠图发愁了!