最近现场面了途虎,只有一面技术面,而且只问了我两个问题,都是算法题。这次面试的收获是很大的,这都要感谢那位非常nice的面试官,特别耐心的给我讲怎么做。一道是笔试时我做的题,一道是他现场出的题。
- 给定一个二维数组,其每一行从左到右递增排序,从上到下递增排序。给定一个数,判断这个数是否在该二维数组中。
function search(array,target){ var col = array[0].length; var row = array.length-1; var i = row; var j = 0; while(i >= 0 && j < col){ if(array[i][j] < target){ i--; } else if(array[i][j] > target){ j++; } else{ return true; } return false; } }
- 给定一个字符串,找出其中第一个出现一次的字符。
function unique(str){ for(var i=0;i<str.length;i++){ var res = str.charAt(i); //以下判断条件还可以替代为:str.indexOf(res) === str.l