题目:

给定一个数组及数组的长度,另外给定一个数m,从数组的第一个元素出发,数到第m个元素出列(如果到最后则回到第一个元素)。出列元素的值作为m的新值,从出列元素的下一元素继续开始数下去,直到所有元素出列。要求给出由出列元素按顺序形成的新数组。

解答:

    static void func(int len, int[] input_array, int m, int[] output_array) {
int ptr = -1;
int ptr2 = 0; for (int i = 0; i < len; i++) {
int step = 0;
while (step < m) {
ptr = (ptr + 1) % len;
if (input_array[ptr] != -1) {
step++;
}
}
m = input_array[ptr];
output_array[ptr2++] = m;
input_array[ptr] = -1;
}
}

测试代码为:

    public static void main(String[] args) {

        int[] arr1 = {3,1,2,4};
int m = 7;
int[] arr2 = new int[4];
func(arr1.length,arr1,m,arr2); for(int i: arr2)
System.out.print(i+" "); }

题目也不难,作为一道笔试题,我不禁把它做成了博客。

java 约瑟夫问题的更多相关文章

  1. JAVA上百实例源码以及开源项目

    简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级.中级.高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情.执着,对IT的憧憬. ...

  2. JAVA上百实例源码网站

    JAVA源码包1JAVA源码包2JAVA源码包3JAVA源码包4 JAVA开源包1 JAVA开源包2 JAVA开源包3 JAVA开源包4 JAVA开源包5 JAVA开源包6 JAVA开源包7 JAVA ...

  3. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  4. 约瑟夫问题(java实现)

    方法一.自定义的链表实现 package com.code.yuesefu; public class YueSeFuList { public static void main(String[] a ...

  5. Java 解决约瑟夫问题

    约瑟夫问题(有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题.在计算机编程的算法中,类似问题又称为约瑟夫环.又称“丢手绢问题”.) 有这样一个故事,15个教徒和15个非教徒在深海遇险必须讲 ...

  6. 约瑟夫环的java解决

    总共3中解决方法,1.数学推导,2.使用ArrayList递归解决,3.使用首位相连的LinkedList解决 import java.util.ArrayList; /** * 约瑟夫环问题 * 需 ...

  7. Java学习之约瑟夫环的两中处理方法

    package day_2; import java.util.Scanner; /** * @author Administrator * 约瑟夫环问题: 设编号为 1,2,3,....n的N个人围 ...

  8. 循环列表的Java实现,解决约瑟夫环问题

    import java.util.Scanner; /** * 循环列表的Java实现,解决约瑟夫环问题 * * @author LIU * */ public class LinkedList { ...

  9. 约瑟夫环 --- 面向对象 --- java代码

    约瑟夫环 的 面向对象 解法 罗马人占领乔塔帕特后,39个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个 ...

随机推荐

  1. php_network_getaddresses: getaddrinfo failed

    在使用 file_get_contents远程请求url时,出现警告:php_network_getaddresses: getaddrinfo failed: Name or servicenot ...

  2. vue简单事件

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  3. [SQL语句的常用统计函数]

    1.  upper() 转化为大写       Lower() 转化为小写 SELECT UPPER(列名称) FROM  表名称 SELECT LOWER(列名称) FROM  表名称 2. Sum ...

  4. ControlTemplate in WPF —— Checkbox

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x ...

  5. hash模块MD5加密

    MD5加密:获取32位加密字符串: 示例(MD5加密'123456')import hashlibhashObject=hashlib.md5(b'123456') #实例化,加密字符串不能直接加密, ...

  6. Python基本语法_函数属性 & 参数类型 & 偏函数的应用

    目录 目录 前言 软件环境 Python Module的程序入口 函数的属性 Python函数的创建 函数的参数 必备参数 缺省参数 命名参数 不定长参数 匿名参数 偏函数的应用 前言 Python除 ...

  7. mybatis父查询值嵌套传递/column传入多个参数值

    mybatis中collection的column传入多个参数值(使用父查询的映射值) property description column 数据库的列名或者列标签别名.与传递给resultSet. ...

  8. Array数组对象

    1.数组方法: 1>字符串的连接: var myarr1= new Array("010") var myarr2= new Array("-",&quo ...

  9. Install the Flash plug-in

    Flash is a plug-in for your web browser that allows you to watch videos and use interactive web page ...

  10. nginx+keepalived(双主)

    一.环境 nginx1   192.168.40.211 nginx2   192.168.40.132 vip1     192.168.40.223  主为keep1,从为keep2 vip2   ...