题解 | #尼科彻斯定理#

尼科彻斯定理

http://www.nowcoder.com/practice/dbace3a5b3c4480e86ee3277f3fe1e85

import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        
        int num=sc.nextInt();
        Integer[] res=solver(num);
        
        for(int i=0;i<=res.length-2;i++){
            System.out.print(res[i]+"+");
        }
        System.out.print(res[res.length-1]);
    }
    
    public static Integer[] solver(int n){
        int k=n/2;
        
        List<Integer> list=new ArrayList<>();
        if(n%2==1){
            list.add(n*n);
            for(int i=1;i<=k;i++){
                list.add(n*n+2*i);
                list.add(n*n-2*i);
            }
        }else{
            for(int i=1;i<=k;i++){
                list.add(n*n-1+2*i);
                list.add(n*n+1-2*i);
            }
        }
        Collections.sort(list);
        Integer[] res=list.toArray(new Integer[0]);
        return res;
    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
06-18 13:28
已编辑
门头沟学院 Web前端
爱睡觉的冰箱哥:《给予你300的工资》,阴的没边了
点赞 评论 收藏
分享
07-02 10:44
门头沟学院 C++
码农索隆:太实诚了,告诉hr,你能实习至少6个月
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务