A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wyh2016 中级黑马   /  2016-12-17 02:41  /  1120 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有时间研究一下算法还是很有意思的,也许用研究来说不合适,算法确实很高深,只能尽能力去学一下了,逆水行舟,以前我是看得懂得,现在连看都看不懂了,来个浅显的。
n个人(编号0~(n-1)),从0开始报数,报到(m-1)的退出,剩下的人继续从0开始报数。求胜利者的编号。
代码实现:
public static void main(String[] args) {
                System.out.println(getLucklyNum(8));        }        /*         * 获取幸运数字         * 1,返回值类型int         * 2,参数列表int num         */        public static int getLucklyNum(int num) {                ArrayList<Integer> list = new ArrayList<>();                //创建集合存储1到num的对象                for(int i = 1; i <= num; i++) {                        list.add(i);                                                                        //将1到num存储在集合中                }                                int count = 1;                                                                                //用来数数的                for(int i = 0; list.size() != 1; i++) {                                //只要集合中人数超过1,就不断的数                        if(i == list.size()) {                                                        //如果i增长到集合最大的索引+1时                                i = 0;                                                                                //重新归零                        }                                                if(count %m == 0) {                                                        //如果是m的倍数                                list.remove(i--);                                                                //就去除                        }                        count++;                }                                return list.get(0);//最后剩一个元素        }越来越觉得算法的重要性,可以说出是程序的灵魂,路漫漫其修远兮啊,吾将上下而求索!!

6 个回复

倒序浏览
晕,格式咋没对齐呢
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
感谢分享,我得来于微信,左右求解而不得其码,
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
wyh2016 中级黑马 2016-12-17 13:22:37
7#
FAN8210 发表于 2016-12-17 06:40
算法应用到哪里呢

很多应用啊,一个好的算法大大提高程序的运行效率,在思想层面上要意识到,慢慢学习提高咯,可惜我还是个新手,么有入门
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马