博客
关于我
50个人围成一圈数到3和3的倍数时出圈,问剩下的人是谁?在原来的位置是多少(简单易懂)
阅读量:380 次
发布时间:2019-03-05

本文共 1162 字,大约阅读时间需要 3 分钟。

CycleTest

private static int cycle(int total, int k) {    LinkedList
dataList = new LinkedList<>(); for (int i = 0; i < total; i++) { dataList.add(new Integer(i + 1)); } int index = -1; // 初始化为-1,表示下一个要删除的元素 while (dataList.size() > 1) { index = (index + k) % dataList.size(); index--; // 删除当前元素后,下一个元素的下标会减1 dataList.remove(index); System.out.println("该数字原来的位置是:" + dataList.get(0)); } return dataList.get(0).intValue();}

上述代码实现了一个循环测试的逻辑,适用于验证多个元素的循环性能。以下是代码的主要实现原理和注意事项:

  • 初始化和数据准备

    代码首先创建了一个LinkedList对象dataList,用于存储需要循环的数据。通过循环从0到total的值,将这些数字依次添加到dataList中。

  • 循环删除元素

    初始化时,index的值设为-1,表示下一个需要删除的元素的位置。进入while循环,确保dataList的大小大于1,继续删除元素。每次循环执行以下操作:

    • 计算当前要删除的元素的位置index,使用取余运算确保位置在当前dataList的范围内。
    • index减1,模拟删除一个元素后,下一个元素的位置需要调整。
    • 调用remove方法删除dataList中当前位置的元素。
    • 打印当前dataList的首位元素的位置信息。
  • 循环终止条件

    dataList的大小小于等于1时,循环终止。通常这种情况下,dataList只剩下一个元素,cycle方法返回该元素的值。

  • 下标调整逻辑

    为了避免下标越界问题,代码使用了取余运算来计算当前要删除的位置。每次删除后,index减1,确保下一个元素的位置能够正确调整。这种方法特别适用于循环队列或环形数据结构。

  • 示例测试

    total设置为5时,代码会依次删除位置为3、6、9、12、15的元素(依据取余计算)。删除完所有元素后,dataList中只剩下一个元素,其位置信息会被打印出来。

  • 通过上述代码和逻辑,可以实现一个简单但有效的循环测试功能。代码清晰易懂,适合用于验证多个元素的循环性能或其他需要循环处理的场景。

    转载地址:http://bjqwz.baihongyu.com/

    你可能感兴趣的文章
    P3367 【模板】并查集(并查集)
    查看>>
    线段树练习题一(离散化)
    查看>>
    2020.9.12 SSL普及组模拟(第4题)(树)(暴力邻接表80)
    查看>>
    Codeforces 1400E Clear the Multiset(贪心 + 分治)
    查看>>
    JDBC连接数据库
    查看>>
    嵌入式系统设计师学习笔记⑥:存储器的层次架构及Cache详解
    查看>>
    codeforces255C.Almost Arithmetical Progression
    查看>>
    2019CCPC女生专场赛_K - Tetris_打表/模拟_暴力之王
    查看>>
    服务器下载部署配置nginx,实现nginx代理多个项目
    查看>>
    算法笔记之快速幂
    查看>>
    P1125 [NOIP2008 提高组] 笨小猴 (Java)
    查看>>
    HDU1559(二维前缀和模板 Java&C++)
    查看>>
    ASP.NET AJAX---UpdatePanel控件小实例(时间的局部更新&条件更新)
    查看>>
    ASP.NET javascript实现图片切换
    查看>>
    ASP.NET jQuery 小实例(实现图片的放大&缩小)
    查看>>
    IIS express web 无法启动服务器
    查看>>
    “/”应用程序中的服务器错误。
    查看>>
    MUI之ajax获取后台接口数据
    查看>>
    使用sqlserver 查询不连续的数据
    查看>>
    用div+css+html+js 实现图片放大
    查看>>