五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

知名互聯(lián)網(wǎng)公司校招中常見的算法題(9-10)

2023-04-26 06:41 作者:good7ob  | 我要投稿

題目九:島嶼數(shù)量

給定一個由 '1'(陸地)和 '0'(水)組成的二維網(wǎng)格,計算島嶼的數(shù)量。一個島被水包圍,并且通過水平方向或豎直方向上相鄰的陸地連接而成。你可以假設網(wǎng)格的四個邊均被水包圍。

解決思路:

我們可以用深度優(yōu)先搜索(DFS)來解決這個問題。我們遍歷整個網(wǎng)格,如果遇到一個陸地('1'),就用 DFS 將與該陸地相鄰的陸地全部標記為已訪問。最后遍歷完整個網(wǎng)格后,島嶼的數(shù)量就是 DFS 的執(zhí)行次數(shù)。

代碼實現(xiàn):

public int numIslands(char[][] grid) {
? int m = grid.length;
? int n = grid[0].length;
? int count = 0;
? for (int i = 0; i < m; i++) {
? ? ? for (int j = 0; j < n; j++) {
? ? ? ? ? if (grid[i][j] == '1') {
? ? ? ? ? ? ? dfs(grid, i, j);
? ? ? ? ? ? ? count++;
? ? ? ? ? }
? ? ? }
? }
? return count;
}
public void dfs(char[][] grid, int i, int j) {
? int m = grid.length;
? int n = grid[0].length;
? if (i < 0 || i >= m || j < 0 || j >= n || grid[i][j] == '0') {
? ? ? return;
? }
? grid[i][j] = '0';
? dfs(grid, i + 1, j);
? dfs(grid, i - 1, j);
? dfs(grid, i, j + 1);
? dfs(grid, i, j - 1);
}

題目十:二叉樹的最近公共祖先

給定一個二叉樹,找到該樹中兩個指定節(jié)點的最近公共祖先。

解決思路:

我們可以用遞歸的方法來解決這個問題。如果當前節(jié)點是 p 或 q,那么最近公共祖先就是當前節(jié)點。否則,我們分別在左子樹和右子樹中查找 p 和 q,如果左子樹中不存在 p 或 q,那么最近公共祖先一定在右子樹中,反之亦然。

代碼實現(xiàn):

public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
? if (root == null || root == p || root == q) {
? ? ? return root;
? }
? TreeNode left = lowestCommonAncestor(root.left, p, q);
? TreeNode right = lowestCommonAncestor(root.right, p, q);
? if (left != null && right != null) {
? ? ? return root;
? }
? if (left != null) {
? ? ? return left;
? }
? if (right != null) {
? ? ? return right;
? }
? return null;
}

以上是關于常見算法題的解決思路、代碼實現(xiàn)以及實際案例的詳細講解。對于互聯(lián)網(wǎng)公司的校招來說,掌握這些算法題可以幫助我們更好地應對面試。當然,還需要多多練習,才能真正掌握這些算法。同時,我們還需要了解一些常見的數(shù)據(jù)結構和算法,比如哈希表、堆排序、快速排序等等。只有全面掌握了這些知識,我們才能在面試中更加游刃有余。


知名互聯(lián)網(wǎng)公司校招中常見的算法題(9-10)的評論 (共 條)

分享到微博請遵守國家法律
普格县| 大荔县| 蕲春县| 宁城县| 山东省| 凤山县| 临城县| 彭州市| 永和县| 富阳市| 大方县| 宣化县| 武山县| 望谟县| 陵川县| 平江县| 华亭县| 河津市| 汶上县| 百色市| 临海市| 邻水| 观塘区| 阳高县| 霍林郭勒市| 平乡县| 沾益县| 满城县| 周至县| 都昌县| 共和县| 吉林省| 平和县| 天柱县| 洛宁县| 上蔡县| 清镇市| 额济纳旗| 连云港市| 宁化县| 无棣县|