有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被删除。
分析这是一个典型的约瑟夫环问题。通常我们是把元素从0开始编号,到n-1。
先看一个例子:
输出结果如下:
具体到此题,几乎一模一样,代码如下:
当然,如果你有好的想法,欢迎留言互动!
本文主要是介绍常见Java问题答疑及笔试题(十六)——华为2016研发笔试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被删除。
分析这是一个典型的约瑟夫环问题。通常我们是把元素从0开始编号,到n-1。
先看一个例子:
输出结果如下:
具体到此题,几乎一模一样,代码如下:
当然,如果你有好的想法,欢迎留言互动!
这篇关于常见Java问题答疑及笔试题(十六)——华为2016研发笔试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!
http://www.chinasem.cn/article/1026793。
23002807@qq.com