题目:
有n 个人围城一圈每次从1数起数到3就把那个人提出圈子,最后只保留一个人。
输入: 输入人数字符串
输出:把最后一个人所保留位置返回出来。
比如你输入11 的话即有11个人 [1,2,3,4,5,6,7,8,9,10,11] 。返回的是7.
如果输入"123a" 的话,返回的是"0"。
package com.javaer.huawei;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestJosephRing {
public static void main(String args[]){
String n = "11";
TestJosephRing tj = new TestJosephRing();
System.out.println(tj.getTheLeftPerson(n));
}
public int getTheLeftPerson(String num){
Pattern p = Pattern.compile("[a-zA-Z]|\\p{Punct}");//处理非法字符
Matcher m = p.matcher(num);
if(m.find()){
return 0;
}
int n = Integer.parseInt(num);
List pL = new ArrayList();
for(int i=0; i
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:月小升博客 – https://java-er.com/blog/huawei-mianshi/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
You must be logged in to post a comment.
这个题目我们以前做过的