1.1反轉字串原理講解:
原理:
首先把句子分隔開,然後把字串變成乙個陣列,陣列中的先後順序就是單詞的先後順序,然後把每個陣列中的單詞進行反轉即可。
let reverseword = (str) => );
return result.join(' ');
}console.log(reverseword('hello world')); //olleh dlrow
上面的**不太優雅,比較冗餘。因為宣告了好幾個變數。修改如下:
let reverseword = (str) => ).join(' ');
}console.log(reverseword('hello world')); //olleh dlrow
面試時如果問還有沒別的解決辦法,如下:
1. 將split引數的空格換成正則
let reverseword = (str) => ).join(' ');
}console.log(reverseword('hello world')); //olleh dlrow
2. 不使用split方法,使用match加正規表示式匹配
let reverseword = (str) => ).join(' ');
}console.log(reverseword('hello world')); //olleh dlrow
總結:
1.2 計算子串原理講解:
原理:首先,找出每乙個輸入與輸出的關係,並畫出來,
我們從上面的圖可以發現規律, 每一行的第乙個紅體字都往後移了一位。即輸出是從輸入的第一位開始找,每找到一位就向後一位。可以通過遞迴方法實現。
let total = (str) => $)`);
if (reg.test(str)) else
};for(let i = 0, len = str.length -1; i < len; i++)
};return r;
}console.log(total('00110011')); //["0011", "01", "1100", "10", "0011", "01"]
總結:
資料結構與演算法(1)
演算法 資料結構 一 演算法 1.演算法的幾個特徵是什麼。2.演算法複雜性的定義。大o 小o分別表示的含義。3.遞迴演算法的定義 遞迴演算法的兩要素。4.分治演算法的思想,經典的分治演算法 全排列 二分搜尋 歸併排序 快速排序 線性時間選擇 最接近點對問題 5.動態規劃演算法解題框架,動態規劃演算法...
資料結構與演算法(1)
1 線性表 2 棧 3 佇列 4 字串 補充 遞迴 1 樹與二叉樹 2 圖 1 查詢 2 排序 編寫相關演算法 資料結構 入門問題 1.為什麼學習資料結構?1 高階程式設計的理論指導 2 提公升編碼能力 3 面試中經常被問及,看發展潛力 2.有哪些資料結構?2.11線性結構 線性表 棧 佇列 陣列 ...
資料結構與演算法 1
cpu 處理器central process unit gpu 圖形處理器graphics processing unit,又稱顯示核心 視覺處理器 顯示晶元或繪圖晶元,是一種專門在個人電腦 工作站 遊戲機和一些移動裝置 如平板電腦 智慧型手機等 上執行繪圖運算工作的微處理器。其用途是將計算機系統所...