国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

分享兩道大廠前端面試題

whjin / 838人閱讀

摘要:示例輸入輸出示例輸入輸出第一種方法滑動窗口解法滑動窗口兩個邊界情況第二種方法位運算解法位運算頭條財經部門一面二維數組的回形遍歷這是頭條財經部門一面的一道題記住遍歷過的索引更多前端算法題,參見算法倉庫。

1. 百度百家號一面

面完回來搜素,才發現這道題其實是LeetCode540。

540 medium 有序數組中的單一元素

給定一個只包含整數的有序數組,每個元素都會出現兩次,唯有一個數只會出現一次,找出這個數。

示例 1:
輸入: [1,1,2,3,3,4,4,8,8]
輸出: 2

示例 2:
輸入: [3,3,7,7,10,11,11]
輸出: 10

第一種方法:滑動窗口
/**
 * 解法1:滑動窗口
 * @param {number[]} nums
 * @return {number}
 */
var singleNonDuplicate = function(nums) {
    for (let i = 0; i < nums.length; i++){
        // 兩個邊界情況
        if (i === 0 && nums[i]!==nums[i+1])return nums[i];
        if (i === nums.length - 1 && nums[i]!==nums[i-1])return nums[i];

        if (nums[i] !== nums[i+1] && nums[i] !== nums[i-1]){
            return nums[i]
        }
    }

};
第二種方法:位運算
/**
 * 解法2:位運算
 * @param {number[]} nums
 * @return {number}
 */
var singleNonDuplicate2 = function(nums) {
    let a = nums[0]
    for (let i = 1; i < nums.length; i++){
        a = a ^ nums[i]
    }
    return a;
};
頭條財經部門一面

二維數組的回形遍歷

// 這是頭條財經部門一面的一道題

let arr2 = [
    [1,2,3,4],
    [5,6,7,8],
    [9,10,11,12]
]

let fn = (arr) => {
    let rowNumber = arr.length;
    let colNumber = arr[0].length;


    let printArr = [arr[0][0]];
    let rowIndex = 0;
    let colIndex = 0;
    let moveDirection = "down";
    let hash = {"00": true}; // 記住遍歷過的索引
    let total = rowNumber * colNumber - 1;
    while(total > 0){
        if (moveDirection === "down"){
            if (rowIndex === rowNumber - 1){
                moveDirection = "right"
                continue;
            } else if (hash[rowIndex + 1 + "" + colIndex]){
                moveDirection = "right"
                continue;
            }
            rowIndex++;

        } else if (moveDirection === "right") {
            if (colIndex === colNumber - 1){
                moveDirection = "up"
                continue;
            } else if (hash[rowIndex + "" + (colIndex + 1)]){
                moveDirection = "up"
                continue;
            }
            colIndex++;

        } else if (moveDirection === "up"){
            if (rowIndex === 0){
                moveDirection = "left"
                continue;
            } else if (hash[rowIndex - 1 + "" + colIndex]){
                moveDirection = "left"
                continue;
            }
            rowIndex--;

        } else if (moveDirection === "left"){
            if (colIndex === 0){
                moveDirection = "down"
                continue;
            } else if (hash[rowIndex + "" + (colIndex - 1)]){
                moveDirection = "down"
                continue;
            }
            colIndex--;
        }

        printArr.push(arr[rowIndex][colIndex]);
        hash[rowIndex + "" + colIndex] = true;

        total--;
    }

    return printArr;
}
console.log(fn(arr2));

更多前端算法題,參見LeetCode算法倉庫。
GitHub:https://github.com/cunzaizhuy...
歡迎star!!!
這里有60多道已經提交通過的LeetCode題目,每天都在更新~~~

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/110001.html

相關文章

  • 【周刊-2】三年大廠面試官-前端面試(偏難)

    摘要:前言在大廠工作了年,當了年的前端面試官,把大廠常問的面試題與答案匯總在我的中。第題如何劫持的請求,提供思路難度阿里騰訊很多人在上搜索前端面試詳解,把答案倒背如流,但是問到如何劫持請求的時候就一臉懵逼,是因為還是停留在理論性階段。前言 在大廠工作了6年,當了3年的前端面試官,把大廠常問的面試題與答案匯總在我的Github中。希望對大家有所幫助,助力大家進入自己理想的企業。 項目地址是:git...

    silvertheo 評論0 收藏0
  • 【周刊-2】三年大廠面試官-前端面試(偏難)

    摘要:前言在大廠工作了年,當了年的前端面試官,把大廠常問的面試題與答案匯總在我的中。第題如何劫持的請求,提供思路難度阿里騰訊很多人在上搜索前端面試詳解,把答案倒背如流,但是問到如何劫持請求的時候就一臉懵逼,是因為還是停留在理論性階段。 前言 在大廠工作了6年,當了3年的前端面試官,把大廠常問的面試題與答案匯總在我的Github中。希望對大家有所幫助,助力大家進入自己理想的企業。 項目地址是:...

    madthumb 評論0 收藏0
  • 【周刊-2】三年大廠面試官-前端面試(偏難)

    摘要:前言在大廠工作了年,當了年的前端面試官,把大廠常問的面試題與答案匯總在我的中。第題如何劫持的請求,提供思路難度阿里騰訊很多人在上搜索前端面試詳解,把答案倒背如流,但是問到如何劫持請求的時候就一臉懵逼,是因為還是停留在理論性階段。 前言 在大廠工作了6年,當了3年的前端面試官,把大廠常問的面試題與答案匯總在我的Github中。希望對大家有所幫助,助力大家進入自己理想的企業。 項目地址是:...

    joywek 評論0 收藏0
  • 字節跳動Python后端開發崗,已拿offer

    摘要:今年歲,畢業之后進入一家小型的互聯網公司工作,名字就不說了,算是熟知的,在這家公司呆了兩年,直至今年才有了跳槽的想法。在眾多大廠中,最終選擇了字節跳動。這樣的調整,一方面對自己學習有幫助,另一方面讓自己應對面試更從容,更順利。 ...

    JasonZhang 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<