首页 > 编程语言 > 详细

JavaScript--面试--算法--数组-1

时间:2016-03-28 23:26:17      阅读:257      评论:0      收藏:0      [点我收藏+]

描述:

     编写一个算法,若M*N矩阵中的某个元素为0,则将其所在的行与列清零;

function metrix_checker(arr) {
    if(!arr.length || arr.length == 0) throw new Error("arr should be a array");
    var lows=[];
    var colums=[];
    for(var i=0; i<arr.length; i++) {
        if(!arr[i].length) throw new Error("arr should be two-dimensional array");
        for(var j=0; j<arr[i].length; j++){
            if(arr[i][j] == 0) {
                lows.push(i);
                colums.push(j);
            }
        }
    }
    var low = lows.pop();
    while(low) {
        arr[low].fill(0);
        low = lows.pop();
    }
    var colum = colums.pop();
    while(colum){
        for(var i=0; i<arr.length; i++){
            arr[i][colum] = 0;
        }
        colum = colums.pop();
    }
    return arr;
} 

var matrix = [[1,2,3],[3,4,5],[6,0,8]];
console.log(metrix_checker(matrix).join(‘,‘));

 

JavaScript--面试--算法--数组-1

原文:http://www.cnblogs.com/ppyst/p/5331111.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!