• SRM 575 250 DIV2


    菜鸟的代码:

    import java.util.*;
    import java.util.regex.*;
    import java.text.*;
    import java.math.*;
    
    
    public class TheSwapsDivTwo
    {
        public int find(int[] sequence)
        {
            int i,j,count;
            boolean tag=false;
            
            count=0;
            for(i=0;i<sequence.length;i++){
                for(j=i+1;j<sequence.length;j++){
                    if(sequence[i]!=sequence[j])
                        count++;
                    else
                        tag=true;
                }
            }    
            
            if(tag)
                count++;
                
            return count;
        }
        
    
    }
    //Powered by KawigiEdit 2.1.4 (beta) modified by pivanof!

    大神的代码:

    public class TheSwapsDivTwo { 
       public int find(int[] sequence) { 
    
         int n = sequence.length; 
         int c =0; 
         int have =0; 
         for(int i =0 ; i < n;i++) 
           for(int j = i+1;j < n;j++) 
             if(sequence[i] != sequence[j])c++; 
             else have++; 
         have = Math.min(have, 1); 
         c+=have; 
         return c; 
       } 
    
    
    } 
    
    
    
    // Powered by FileEdit
    // Powered by moj 4.17 [modified TZTester]
    // Powered by CodeProcessor

    分析:

      算法:

      对比:

        1.方法差别不大。

      总结:

        出于能少点时间就少点的考虑,可以把sequence.length取出来,免得多做n^2次操作。

  • 相关阅读:
    hibernate理解
    struts理解
    网上书城项目
    编码过程中遇到的问题
    JS回调函数
    requirejs 一个拆分js项目的类库
    jq插件开发总结
    转载-- 魔兽哈希算法封装和测试
    转载--C# PLINQ 内存列表查询优化历程
    Oracle删除死锁进程的方法
  • 原文地址:https://www.cnblogs.com/wang3/p/3161820.html
Copyright © 2020-2023  润新知