约瑟夫问题,自己模拟写的直接超时了,后面才知道约瑟夫问题是有规律的。
题目链接:约瑟夫问题
javaimport java.util.*; public class Main { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int n=scanner.nextInt(); int k=scanner.nextInt(); System.out.println(find(n,k)); } public static int find(int n,int k){ int r=0; for(int i=2;i<=n;i++){ r=(r+k)%i; } return r+1; } }
自己写的超时!
javaimport java.util.*; public class Main { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int n=scanner.nextInt(); int k=scanner.nextInt(); int now=0;//当前指针 ArrayList<Integer> a=new ArrayList<>(); for(int i=1;i<=n;i++){ a.add(i); } int i=0;//当前位置 while(a.size()!=1){ now++; if(now==k){ Integer x=a.remove(i);//索引处 now=0; } else{ i++; if(i==a.size()){ i=0; } } } System.out.println(a.get(0)); } }
约瑟夫问题---(蓝桥杯)
菜到极致就是渣2024-03-24 21:01
相关推荐
许苑向上2 分钟前
【BeanDefinitionRegistryPostProcessor 和 BeanFactoryPostProcessor 详细解答】浩少7021 小时前
LeetCode-17day:贪心算法mashanshui5 小时前
Https之(二)TLS的DH密钥协商算法admiraldeworm7 小时前
Spring Boot + Spring AI 最小可运行 Demochenglin0167 小时前
ES_数据存储知识wearegogog1238 小时前
MATLAB的脉搏信号分析预处理fs哆哆8 小时前
在VB.net中一维数组,与VBA有什么区别johnZhangqi8 小时前
深圳大学-计算机信息管理课程实验 C++ 自考模拟题wjt1020208 小时前
机器学习--续David爱编程8 小时前
并发编程三大特性全解析:原子性、可见性、有序性,一文讲透!