【LeetCode】390. 消除游戏

题目

给定一个从1 到 n 排序的整数列表。
首先,从左到右,从第一个数字开始,每隔一个数字进行删除,直到列表的末尾。
第二步,在剩下的数字中,从右到左,从倒数第一个数字开始,每隔一个数字进行删除,直到列表开头。
我们不断重复这两步,从左到右和从右到左交替进行,直到只剩下一个数字。
返回长度为 n 的列表中,最后剩下的数字。

示例:

输入:
n = 9,
1 2 3 4 5 6 7 8 9
2 4 6 8
2 6
6输出:
6

思路

1. 递归

边界条件

if (n == 1)return 1;
if (n <= 4)return 2;

递归规律:
考虑到边界条件,n > 4.

由于n==9和n==8,第一次消除之后结果完全一样,故后面结果都一致。故把所有n都当做偶数处理

if(n % 2 != 0)n -= 1;

解题思路

2. 暴力破解,循环

将[1, n]用列表储存,循环判断,每次划掉一批数,或者将这批数置位0,当只有一个数输出。

代码

```
int lastRemaining(int n) {
if (n == 1)
return 1;
if (n <= 4)
return 2;

if (n % 2 != 0)n -= 1;
if (n % 4 != 0)return 4 * lastRemaining(n / 4);
elsereturn 4 * lastRemaining(n / 4) - 2;

转载于:https://www.cnblogs.com/wemo/p/10496189.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/264597.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql最大连接数512_MySQL服务器最大连接数怎么设置才合理

原标题&#xff1a;MySQL服务器最大连接数怎么设置才合理如果mysql 连接数据设置不合理可能会导致很小的流量mysql就提示MySQL: ERROR 1040: Too many connections错误了&#xff0c;那么要如何才算是合理设置mysql最大连接数呢&#xff0c;下面我来给大家介绍介绍。MySQL服务器…

Unity Mono

Unity的mscrolib.dll和.Net的mscrolib.dll 好奇于Unity的mscrolib.dll和.Net Framework提供的mscrolib是否一致。 .Net的mscrolib.dll 多语言标准通用对象运行时库&#xff08;Microsoft Standard Common Object Runtime Library&#xff09;就是指mscrolib.dll, Unity的mscrol…

【noip模拟赛3】编码

描述 Alice和Bob之间要进行秘密通信&#xff0c;他们正在讨论如何对信息进行加密&#xff1a; Alice&#xff1a;“不如采用一种很简单的加密方式&#xff1a;’A’替换成1&#xff0c;’B’替换成2&#xff0c;„„&#xff0c;’Z’替换成26。” Bob&#xff1a;“这种加密方…

HTML入门学习 -- HTML基础知识

打算按照 HTML -> CSS –> JavaScript –> jQuery –> HTML5 –> WebGL 的顺序&#xff0c;简略学习一下Web前端技术。 因为不是搞Web的&#xff0c;只需要大概过一下有个印象就行&#xff0c;每一项花费3天到一周时间走马观花的看看。 编辑器就选择Sublime Tex…

explorer.exe rundll32.exe病毒解决方案

1、网页打开速度突然变慢&#xff0c;彻底杀毒&#xff0c;没有发现。再查看进程&#xff0c;一开始只有rundll32.exe耗cpu资源90%以上&#xff0c;每结束一次进程&#xff0c;网页打开就快些&#xff0c;但需要不断的结束&#xff0c;第一次郁闷&#xff01;&#xff01;后来&…

python作用域链_具有动态特性的Python嵌套作用域

例如&#xff1a;>>> def outer():... x 0... y (x for i in range(10))... del x...SyntaxError: can not delete variable x referenced in nested scope基本上这意味着你不能删除内部块中使用的变量(在这种情况下是genexp)。在注意&#xff0c;这适用于python&am…

并发编程实战(一)

并发编程的三个核心问题: 分工 : 高效的拆解任务分给线程同步 : 线程之间的协作互斥 : 保证同一时刻只允许一个线程访问共享资源这个其实不难理解,做个简单的比喻,我们团队做一个项目的时候肯定是先分配任务(分工),然后等到任务完成进行合并对接(同步),在开发过程中,使用版本控…

ASP.NET Ajax 控件ToggleButton,SliderExtender,ResizableControl 学习笔记

ResizableControl ----拖拽控件的大小&#xff0c;&#xff0c;一般用来拖拽图片的大小 &#xff08;查看效果&#xff09; 实现代码: <ajaxToolkit:ResizableControlExtender ID"RCE" runat"server" TargetControlID"PanelImage" HandleCssC…

java pdf打印_Java 打印PDF文档

本文将介绍如何在Java应用程序中打印PDF文档。一般有以下三种常见打印方式&#xff1a;静默打印显示打印对话框打印打印PDF时自定义纸张大小使用工具&#xff1a;Free Spire.PDF for Java创建运行环境&#xff1a;方式 1&#xff1a;通过官网下载组件&#xff0c;解压后将lib文…

xss测试

</p>\ < script language"JavaScript" \ >alert(document.cookie); \ < /script\ > <p>转载于:https://blog.51cto.com/zhangxz/1445081

微信支付配置参数:支付授权目录、回调支付URL

一、开通微信支付的首要条件是&#xff1a;认证服务号或政府媒体类认证订阅号&#xff08;一般认证订阅号无法申请微信支付&#xff09;二、微信支付分为老版支付和新版支付&#xff0c;除了较早期申请的用户为老版支付&#xff0c;现均为新版微信支付。三、公众平台微信支付开…

生命诚可贵

灰色转载于:https://www.cnblogs.com/dannyr/archive/2008/05/19/1202339.html

memcached 使用 java_java中Memcached的使用(包括与Spring整合)

一、什么是Memcached&#xff1f;Memcached是danga.com开发的分布式内存对象缓存系统&#xff0c;所谓分布式&#xff0c;意味着它不是本地的&#xff0c;而是基于网络连接完成服务。Memcached把一些数据通过keyvalue数据存储到内存中&#xff0c;这样访问更加方便快捷。但是随…

P1137 旅行计划

前言&#xff1a; 这是道图论题&#xff0c;当然&#xff0c;搜索也行&#xff1b; 做题的中心我放在拓扑排序上 需要帮助吗&#xff08;什么是拓扑排序&#xff1f;&#xff09; 分析&#xff1a; 拓扑排序的模板一个&#xff01;&#xff01;&#xff01; 题目&#xff1a;P1…

[导入]关于阶乘的两个常见算法及一个相关面试题

摘要: 本文首先给出了阶乘的数学定义&#xff0c;然后说明了它的两种简单算法&#xff0c;最后提供了一个很有意思的与阶乘相关的面试题的思路。 阅读全文Anders Cui 2008-05-19 12:12 发表评论文章来源:http://www.cnblogs.com/anderslly/archive/2008/05/19/factorial-algor…

autoresetevent java_[原创]AutoResetEvent, ManualResetEvent的Java模拟

AutoResetEvent, ManualResetEvent是C#中常用的线程同步方法&#xff0c;在Java中可以模拟&#xff0c;AutoResetEvent使用Semaphore&#xff0c;增加的是许可证数量&#xff0c;程序里只有一个许可证&#xff0c;那么当这个许可被使用后&#xff0c;就会自动锁定。相反&#x…

用Jfree实现条形柱状图表,java代码实现

用Jfree实现条形柱状图表&#xff0c;java代码实现。可经经常使用于报表的制作&#xff0c;代码自己主动生成后能够自由查看。能够自由配置图表的各个属性&#xff0c;用来达到自己的要求和目的package test1;import org.jfree.chart.*; import org.jfree.chart.plot.*; import…

bzoj 2160: 拉拉队排练

Description 艾利斯顿商学院篮球队要参加一年一度的市篮球比赛了。拉拉队是篮球比赛的一个看点&#xff0c;好的拉拉队往往能帮助球队增加士气&#xff0c;赢得最终的比赛。所以作为拉拉队队长的楚雨荨同学知道&#xff0c;帮助篮球队训练好拉拉队有多么的重要。拉拉队的选拔工…

java long double精度丢失_long long类型转double类型部分精度丢失问题

我最近做了一道题&#xff0c;一个64位(unsigned __int64)范围内的数输出其除以1000的值&#xff0c;并按四舍五入保留小数点后三位。我刚开始直接写WA&#xff0c;结果发现当数比较大的时候&#xff0c;结果后几位精度总会丢失&#xff0c;只好手动模拟了一个&#xff0c;水过…

从服务器上自动更新系统补丁

对于经常重系统的用户或公司,每次安装系统后,必须得从微软网站上面下载补丁,这样很浪费时间. 如何从自己服务器上自动更新系统补丁,方法如下: 服务器端 服务器端需要安装一个更新服务器软件,如:SUS (下载地址http://www.onlinedown.net/soft/35844.htm) 客户端设置 开始 -- 运行…