zoukankan      html  css  js  c++  java
  • 水王

          

    设计思想:

      顺序遍历这个列表,如果遍历到的帖子的作者的ID和列表的下一个帖子的作者ID相同,则有可能是水王,将ID记录,同时也将ID出现的次数记录,当遍历到的ID出现不相同时则将这两个ID都剔除(即将记录可能是水王的ID的出现次数减一,遍历到的下一个的ID跳过),如果记录的可能是水王的ID出现次数成为0,则寻找新的可能是水王的ID,最终记录的ID即为水王的ID

    代码实现:

    package zuoYe;
    
    import java.util.Scanner;
    /*
     * 寻找水王
     */
    public class ShuiWang2 {
        public static void main(String[] args) {
            int[] a = null;//存储帖子id
                    Scanner sc = new Scanner(System.in);
            System.out.println("帖子总个数:");
            int sum = sc.nextInt();
            a = new int[sum];
            System.out.println("输入每个帖子的作者:");
            for(int i = 0;i < sum;i++)
            {
                a[i] = sc.nextInt();
            }
            sc.close();
            int n = 0;
            int nid = -1;
    
            for(int i = 0;i < a.length - 1;i++)
            {
                if(n == 0)
                {
                    if(a[i] == a[i + 1])
                    {
                        n = 2;
                        nid = a[i];
                    }
                    else
                    {
                
    if((i + 1) == a.length - 1) { nid = a[a.length - 1]; } }
              i++; }
    else { if(nid == a[i]) { n++; } else { n--; } } } System.out.println("水王的ID : " + nid); } }

    个人总结:

      解决问题要找到规律,这样解决问题才能高效,按照原始方法虽然能够解决问题,但是效率大打折扣。 

  • 相关阅读:
    构建之法阅读笔记一
    第一冲刺阶段 工作总结 02
    第一冲刺阶段 工作总结 01
    学习进度条 第七周
    团队计划会议 01
    团队博客 一 需求分析
    学习进度条 第六周
    数组练习3 求最大连通子数组的和
    03构建之法阅读笔记之三
    团队项目个人每日总结(4.19)
  • 原文地址:https://www.cnblogs.com/liuxining/p/6733838.html
Copyright © 2011-2022 走看看