Java简单算法--出圈问题

package cn.magicdu.algorithm; import java.util.LinkedList;
import java.util.List; /**
* 出圈问题,数到某个数字的倍数就出圈,打印最后剩下的元素的原来位置
*
* @author xiaoduc
*
*/
public class Circle {
public static void main(String[] args) {
System.out.println("剩下元素原来的位置"+cycle(50,3));
} private static int cycle(int total, int k) {
List<Integer> dataList=new LinkedList<Integer>();
for(int i=0;i<total;i++)
dataList.add(new Integer(i+1));
//定义下标,模拟已经去掉一个元素
int index=-1;
while(dataList.size()>1){
index=(index+k)%dataList.size();//得到应该出局的下标
dataList.remove(index--);//去除元素
}
return (Integer)dataList.get(0).intValue();
}
}
Java简单算法--出圈问题的更多相关文章
- Java 简单算法--排序
1. 冒泡排序 package cn.magicdu.algorithm; public class BubbleSort { public static void main(String[] arg ...
- Java 简单算法--打印回文数字
package cn.magicdu.algorithm; public class CircleNumber { public static void main(String[] args) { f ...
- Java 简单算法--打印乘法口诀(只使用一次循环)
package cn.magicdu.algorithm; /** * 九九乘法口诀表 * * @author xiaoduc * */ public class NineNineMulitTable ...
- Java简单算法--求100以内素数
package cn.magicdu.algorithm; /** * 打印素数 * * @author xiaoduc * */ public class Prim { public static ...
- java————数组 简单写出一个管理系统
数组的特点 1, 数组是一块连续的空间,下标描述空间的位置. 2, 下标从0开始,最大下标为数组长度—1.(*.length-1) 3, 数组元素都是变量.(就是每个下标对应的内容).变量的类型 ...
- 预防和避免死锁的方法及银行家算法的java简单实现
预防死锁 (1) 摒弃"请求和保持"条件 基本思想:规定所有进程在开始运行之前,要么获得所需的所有资源,要么一个都不分配给它,直到所需资源全部满足才一次性分配给它. 优点:简单.易 ...
- 【线性表基础】基于线性表的简单算法【Java版】
本文描述了基于线性表的简单算法及其代码[Java实现] 1-1 删除单链表中所有重复元素 // Example 1-1 删除单链表中所有重复元素 private static void removeR ...
- JAVA经典算法40题及解答
JAVA经典算法40题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分 ...
- Java基础算法集50题
最近因为要准备实习,还有一个蓝桥杯的编程比赛,所以准备加强一下算法这块,然后百度了一下java基础算法,看到的都是那50套题,那就花了差不多三个晚自习的时间吧,大体看了一遍,做了其中的27道题,有一些 ...
随机推荐
- 在Mac上通过Sublime、Skim编辑LaTeX
转自:http://painterlin.com/2014/08/10/Using-LaTeX-with-Sublime-and-Skim-for-Mac.html Sublime Text是一款非常 ...
- MAC OS安装wget
MAC下没有wget工具,不习惯curl,使用起来还是很不方便的.下载了一个wget源码吧,编译安装.sudo curl -O http://ftp.gnu.org/gnu/wget/wget-1.1 ...
- Java网络编程(TCP协议-练习-上传文本文件)
客户端: package WebProgramingDemo; import java.io.BufferedReader; public class UploadTextClient { /** * ...
- Android问题-DelphiXE5编义时提示找不到“连接器(arm-linux-androideabi-ld.exe)"
问题现象:DelphiXE5编义时提示找不到“连接器(arm-linux-androideabi-ld.exe)" 问题提示:Checking project dependencies... ...
- window 便笺
windows的便签很方便人们记录日常工作安排,但是不是所有人都知道如何调用,下面介绍下如何调用windows便签: 1.win + R --> StikyNot 2.弹出便签界面 3.右击底 ...
- #Cocos2d+lua#android+Eclipse工程编译设置
用Elicpse编译cocos2d+lua的工程几点注意点记录: 1.设置工程属性Windows->Preferences->NDK目录 2.右键Android Tools->Add ...
- nape.dynamics.InteractionFilter
(转载http://tomyail.com/blog/1123) Nape定义了三种交互方式: Collision(碰撞) Sensor(感应) Fluid(浮力) 默认情况下两个物体只会发生Coll ...
- Android多媒体-人脸识别
1. 相关背景 Google 于2006年8月收购Neven Vision 公司 (该公司拥有 10 多项应用于移动设备领域的图像识别的专利),以此获得了图像识别的技术,并不是常快应用到免费的 Pic ...
- Jordan Lecture Note-5: Kernels
Kernels 我们首先来回顾kernel函数的定义:一个函数$K(x,y)$为kernel函数当且仅当对$\forall g, \int K(x,y)g(x)g(y)dxdy\geq 0$成立.另外 ...
- Android Service 服务(一)—— Service .
http://blog.csdn.net/ithomer/article/details/7364024 一. Service简介 Service是android 系统中的四大组件之一(Activit ...