zoukankan      html  css  js  c++  java
  • 排序还可以这样做

    比如给一个整数序列[5,5,3,3,9,9,4,4,0,0,6,6,8,8,2,2,7,7,1,1],只需要把序列中的每个元素在中间数组标识一下,如5可以标识为arrTemp[5]=1,如果序列中还有这个元素可以标识为arrTemp[5]=2,如此arrTemp=[2,2,2,2,2,2,2,2,2,2],再把arrTemp翻译为结果[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9],这样做时间复杂度为2*len,具体代码如下(未做输入参数检查):

    var SF = {
        Sort : 
    function(arr){
            
    var arrTemp = []
            
    var index = -1
            
    for(var i=0; i<arr.length; i++){
                
    var item = arr[i]
                //if(arrTemp[item] == 1){
               
    if(arrTemp[item] >= 1){
                    arrTemp[item]
    ++
                }
    else{
                    arrTemp[item] 
    = 1
                }
            }
            
            
    var arrR = []
            
    for(var i=0; i<arrTemp.length; i++){
                
    var item = arrTemp[i]
                
    if(item){
                    
    for(var j=0; j<item; j++){
                        arrR.push(i)
                    }
                }
            }
            
    return arrR
        }
    }
    var arr = [5,5,3,3,9,9,4,4,0,0,6,6,8,8,2,2,7,7,1,1]
    alert(SF.Sort(arr))
  • 相关阅读:
    What's the most secure desktop operating system?
    合肥一中在校学生丁雯琪(中美班)被麻省理工学院(MIT)录取
    Classic Computer Science 1980s-1990s
    HOWTO do Linux kernel development
    选择器zuoye
    HTML+css 小组件
    弹性盒子
    CSS3 学习笔记(动画 多媒体查询)
    CSS3 学习笔记(边框 背景 字体 图片 旋转等)
    学习笔记css3
  • 原文地址:https://www.cnblogs.com/boolean/p/712867.html
Copyright © 2011-2022 走看看