您当前的位置:首页 > 计算机 > 编程开发 > 数据结构与算法

第 135 题:算法题 红、黄、蓝球排序

时间:12-14来源:作者:点击数:
城东书院 www.cdsy.xyz

在一个字符串数组中有红、黄、蓝三种颜色的球,且个数不相等、顺序不一致,请为该数组排序。使得排序后数组中球的顺序为:黄、红、蓝。

例如:红蓝蓝黄红黄蓝红红黄红,排序后为:黄黄黄红红红红红蓝蓝蓝

方法一:

var arr = ['蓝','黄','蓝','红','黄','蓝','红','黄','蓝','蓝','红','黄','黄','红'];
    var arrNew = [];
    var color = ['黄','红','蓝'];
    function maps(arr,i){
        for(var item of arr){
            if(item == color[i]){
                arrNew.push(item)
            }
        }
    }
    for(var i = 0; i < color.length; i++){
        maps(arr,i)
    }
    console.log(arrNew)

方法二:

var arr = ['蓝','黄','蓝','红','黄','蓝','红','黄','蓝','蓝','红','黄','黄','红'];
function getType(type){
    switch(type){
        case '黄':
          return 1;
        case '红':
          return 2;
        default:
          return 3
    }
}
arr.sort(function(a,b){
    return getType(a)-getType(b)
})
console.log(arr)
城东书院 www.cdsy.xyz
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐