日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

leetcode 427. Construct Quad Tree | 427. 建立四叉树(分治法)

發布時間:2024/2/28 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 leetcode 427. Construct Quad Tree | 427. 建立四叉树(分治法) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目

https://leetcode.com/problems/construct-quad-tree/

題解

/* // Definition for a QuadTree node. class Node {public boolean val;public boolean isLeaf;public Node topLeft;public Node topRight;public Node bottomLeft;public Node bottomRight;public Node() {this.val = false;this.isLeaf = false;this.topLeft = null;this.topRight = null;this.bottomLeft = null;this.bottomRight = null;}public Node(boolean val, boolean isLeaf) {this.val = val;this.isLeaf = isLeaf;this.topLeft = null;this.topRight = null;this.bottomLeft = null;this.bottomRight = null;}public Node(boolean val, boolean isLeaf, Node topLeft, Node topRight, Node bottomLeft, Node bottomRight) {this.val = val;this.isLeaf = isLeaf;this.topLeft = topLeft;this.topRight = topRight;this.bottomLeft = bottomLeft;this.bottomRight = bottomRight;} }; */class Solution {public Node construct(int[][] grid) {// x,y,size確定一個正方形Node root = partition(grid, 0, 0, grid.length);return root;}// 通過4個val判斷是否有相異元素public Node partition(int[][] grid, int x, int y, int size) {Node node = new Node();if (size == 1) {node.isLeaf = true;node.val = (grid[x][y] == 1);return node;}Node TL = partition(grid, x, y, size / 2);Node TR = partition(grid, x, y + size / 2, size / 2);Node BL = partition(grid, x + size / 2, y, size / 2);Node BR = partition(grid, x + size / 2, y + size / 2, size / 2);if (TL.isLeaf && TR.isLeaf && BL.isLeaf && BR.isLeaf && TL.val == TR.val && TR.val == BL.val && BL.val == BR.val) { // 四葉子合并node.isLeaf = true;node.val = TL.val;} else { // 四葉子無法合并node.isLeaf = false;node.topLeft = TL;node.topRight = TR;node.bottomLeft = BL;node.bottomRight = BR;}return node;} }

總結

以上是生活随笔為你收集整理的leetcode 427. Construct Quad Tree | 427. 建立四叉树(分治法)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。