• 约瑟夫环的实现


    1.使用队列模拟循环链表

    import java.util.*;
    public class Solution {
        public int LastRemaining_Solution(int n, int m) {
            List<Integer> list=new ArrayList <>();
            for(int i=0;i<n;i++)
            {
                list.add(i);
            }
            int num=-1;   //为了保证步数与下标的一致
            while(list.size()>1)
            {
                for(int j=0;j<m;j++)//走m步
                {
                    num++;
                    if(num==list.size())
                        num=0;//超出队列范围时,归零
                }
    
                list.remove(num);
                num--;//保证下一次下标合理,cur--的原因,因为新的list中cur指向了下一个元素,为了保证移动m个准确性,所以cur向前移动一位。
            }
            if(list.size()==1)
                return list.get(0).intValue();
            else
                return -1;
            
            
        }
    }

    2.JAVA 循环链表

    import java.util.*;
    class ListNode{
        int val;
        ListNode next=null;
        
        ListNode (int val){
            this.val=val;
        }
    }
    
    
    public class Solution {
        public int LastRemaining_Solution(int n, int m) {
           if(n<=0 || m<=0)
               return -1;
            
            ListNode head =new ListNode(0);
            ListNode node=head;
            for(int i=1;i<n;i++)
            {
               node.next=new ListNode(i);
               node =node.next;
            }
            node.next=head;
            
            int k=0;
            while(node.next!=node)
            {
                if(++k==m)
                {
                    node.next=node.next.next;
                    k=0;
                }
                else
                {
                    node=node.next;
                }
            }
            
            return node.val;
        }
    }
  • 相关阅读:
    Unreal Engine 4 Based Materials
    PhysX Clothing for UE4
    UE4中使用URL图片
    开始创作自己的VR作品——VR故事叙述终极指南
    UE4里的自定义深度功能
    Mybatis27题
    java 备用待迁移
    几个算法题目
    数据结构算法题目
    Mybatis 面试题
  • 原文地址:https://www.cnblogs.com/lemonzhang/p/12613665.html
Copyright © 2020-2023  润新知