zoukankan      html  css  js  c++  java
  • 软件工程个人作业07

    一.设计思想

    1.通过查找,每次从列表中删除两个不同的ID(不管是否包含“水王”的ID)

    2.最后得出出现次数仍然超过总数的一半的ID

    二.代码实现

    public class ShuiWang {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		int[] array={5,1,2,3,8,5,5,5,5,4,5};
    		System.out.println(find(array));
    	}
    	public static int find(int[] array)
    	{
    		int m=array.length;
    		int n=0;
    		int a=0;
    		for(int i=0;i<m;i++)
    		{
    			if(a==0)
    			{
    				n=array[i];
    				a=1;
    			}
    			else
    			{
    				if(n==array[i])
    				{
    					++a;
    				}
    				else
    				{
    					--a;
    				}
    			}
    				
    		}
    		return n;
    	}
    }
    

      

    三.实现截图

    四.个人总结

    我采用的这个算法有个缺点,不能确切知道这个ID出现多少次,只能知道这个ID出现的次数大于一半如果想知道,最后还要遍历多次。

    通过这次课堂测验,我知道了能做出来并不难,但是要用一个最佳方法才是我们应该考虑学习的。

  • 相关阅读:
    I/O性能优化
    磁盘性能指标
    磁盘I/O工作原理
    文件系统工作原理
    Linux命令行工具之free命令
    内存性能优化
    内存工作原理
    内存中的Buffer和Cache的区别
    proc文件系统
    oracle 查询 LOB 字段大小
  • 原文地址:https://www.cnblogs.com/niujunyan/p/5499131.html
Copyright © 2011-2022 走看看