From 94511008f62359f1116a27c3601caa733717c14d Mon Sep 17 00:00:00 2001 From: Bhawna <115154265+bhawnajd@users.noreply.github.com> Date: Thu, 6 Oct 2022 16:45:56 +0530 Subject: [PATCH] Create MaxBinary.java --- udemyproblems/src/main/java/MaxBinary.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 udemyproblems/src/main/java/MaxBinary.java diff --git a/udemyproblems/src/main/java/MaxBinary.java b/udemyproblems/src/main/java/MaxBinary.java new file mode 100644 index 0000000..42c82da --- /dev/null +++ b/udemyproblems/src/main/java/MaxBinary.java @@ -0,0 +1,22 @@ +public class MaxBinary { + public TreeNode constructMaximumBinaryTree(int[] nums) { + return construct(nums, 0, nums.length); + } + public TreeNode construct(int[] nums, int l, int r) { + if (l == r) + return null; + int max_i = max(nums, l, r); + TreeNode root = new TreeNode(nums[max_i]); + root.left = construct(nums, l, max_i); + root.right = construct(nums, max_i + 1, r); + return root; + } + public int max(int[] nums, int l, int r) { + int max_i = l; + for (int i = l; i < r; i++) { + if (nums[max_i] < nums[i]) + max_i = i; + } + return max_i; + } +}