间隔删数

2024-04-21 13:32
文章标签 间隔 删数

本文主要是介绍间隔删数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目如下

有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被删除。

本人对Java比较熟悉,第一想到的就是使用 LinkedList 类。接下来是暴力破解法:

import java.util.LinkedList;public class Test {public static void main(String[] args){LinkedList<Integer> list = new LinkedList<>();for (int i = 0 ; i < 8 ; i++)list.add(i);int count = 0;int length;while ((length = list.size()) != 1){count = count + 2;if(count >= length)count = count % length;list.remove(count);}System.out.println(list.getFirst());}
}

这篇关于间隔删数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/923198

相关文章

如何根据相同分隔符提取间隔数据?

最近遇到很多提问怎么提取字符的,而这些问题都有一个相同的特征,就是要提取的内容与内容之间,都有着相同的分隔符。当然,这种问题直接用“数据” →  “分列”功能就可以一步到位实现的,但有人喜欢折腾,而更多的人又非得指定函数公式的方法,或者更多的是要保持数据的同步性。   下面,我们就来讲讲用函数公式应该怎么实现这个提取,首先来个数据和要求,如下图,将 - 号间隔的内容依次提取到右边单元格内:

Java中计算两个日期间隔多少天

String dbtime1 = "2017-02-23";  //第二个日期 String dbtime2 = "2017-02-22";  //第一个日期 //算两个日期间隔多少天 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date date1 = format.parse(dbtime1); Date dat

Matlab)实现HSV非等间隔量化--相似判断:欧式距离--输出图片-

%************************************************************************** %                                 图像检索——提取颜色特征 %HSV空间颜色直方图(将RGB空间转化为HS

<Rust>egui学习之小部件(三):如何为窗口UI元件设置布局(间隔、水平、垂直排列)?

前言 本专栏是关于Rust的GUI库egui的部件讲解及应用实例分析,主要讲解egui的源代码、部件属性、如何应用。 环境配置 系统:windows 平台:visual studio code 语言:rust 库:egui、eframe 概述 本文是本专栏的第三篇博文,主要说明如何对窗口的部件进行布局。 事实上,类似于iced,egui都提供了示例程序,本专栏的博文都是建立在官方示例程序以及

时间间隔计算工具类

记录下来,留着备用。 /*** @author abc 计算时间间隔*/public class IntervalUtil {public static String getInterval(String createtime) throws ParseException { // 传入的时间格式必须类似于2017-6-23// 11:53:20这样的格式String interval =

1177C语言实验——时间间隔

题目描述 从键盘输入两个时间点(24小时制),输出两个时间点之间的时间间隔,时间间隔用“小时:分钟:秒”表示。 如:3点5分25秒应表示为--03:05:25.假设两个时间在同一天内,时间先后顺序与输入无关。 输入 输入包括两行。 第一行为时间点1。 第二行为时间点2。 输出 以“小时:分钟:秒”的格式输出时间间隔。 格式参看输入输出。 示例输入 12:01:1

Java8学习笔记:计算两个时间的间隔及相隔天数、秒数等

环境 Java11 IDEA:2020.1 前言 如果大家用过Java7的时间,应该都知道,要计算startTime和endTime时间间隔是要写很多代码的; Java8开始对时间类进行过重构优化,并且提供了很多工具类; 代码 ChronoUnit类 现在假设有如下代码: // 常量private static final int ONE = 1;public static vo

ActiveMQ中的消息重发时间间隔和重发次数吗?

首先,我们得大概了解下,在哪些情况下,ActiveMQ服务器会将消息重发给消费者,这里为简单起见,假定采用的消息发送模式为队列(即消息发送者和消息接收者)。       1.如果消息接收者在处理完一条消息的处理过程后没有对MOM进行应答,则该消息将由MOM重发.       2.如果我们队某个队列设置了预读参数(consumer.prefetchSize),如果消息接收者在处理第一条消息

SDUTOJ 2072 删数问题 贪心

删数问题 Time Limit: 1000MS Memory limit: 65536K 题目描述  键盘输入一个高精度的正整数n(≤100位),去掉其中任意s个数字后剩下的数字按照原来的左右次序组成一个新的正整数。编程对给定的n与s,寻找一种方案,使得剩下的数字组成的新数最小。 输入   输入有多组 每组包括原始数n,要去掉的数字数s;

数字间隔排列

今有7对数字:两个1,两个2,两个3,…两个7,把它们排成一行。 要求,两个1间有1个其它数字,两个2间有2个其它数字,以此类推,两个7之间有7个其它数字。如下就是一个符合要求的排列: 17126425374635 当然,如果把它倒过来,也是符合要求的。 请你找出另一种符合要求的排列法,并且这个排列法是以74开头的。 注意:只填写这个14位的整数,不能填写任何多余的内容,比如说明注释等。