thảo luận Leetcode + Codeforces, Competitive programming contest. Đường tới Guardian + Candidate Master.

  • Người tạo chủ đề Người tạo chủ đề freedom.9
  • Ngày bắt đầu Ngày bắt đầu
Ừ đúng rồi, nhiều bài khắm vl, đi inteview nó có nhiều yếu tố hên xui nhưng thằng rating cao thì cùng lắm đi pv 10 cty thì đen dính 1 cái ko làm được, có thằng luyện có 1 200 bài vẫn pass như thường.
Giờ cho ae đi xóa 1 node ở 1 cái BST được ko, bữa LinkedIn nó hỏi bài đấy lúc interview khả năng cút là rất cao :beat_brick:

Vào việc!!!
 
Ừ đúng rồi, nhiều bài khắm vl, đi inteview nó có nhiều yếu tố hên xui nhưng thằng rating cao thì cùng lắm đi pv 10 cty thì đen dính 1 cái ko làm được, có thằng luyện có 1 200 bài vẫn pass như thường.
Giờ cho ae đi xóa 1 node ở 1 cái BST được ko, bữa LinkedIn nó hỏi bài đấy lúc interview khả năng cút là rất cao :beat_brick:
choke thật bác ạ
V092S5K.gif
V092S5K.gif
V092S5K.gif
 
FqPSFPf.gif
FqPSFPf.gif
FqPSFPf.gif
chợt nhận ra mình đang trôi theo contest chứ không phải theo hướng phỏng vấn, làm chậm + phân tích kỹ hơn
4gmOAMB.png
4gmOAMB.png
4gmOAMB.png
chứ em đang hơi vội như thi contest
 
Ừ đúng rồi, nhiều bài khắm vl, đi inteview nó có nhiều yếu tố hên xui nhưng thằng rating cao thì cùng lắm đi pv 10 cty thì đen dính 1 cái ko làm được, có thằng luyện có 1 200 bài vẫn pass như thường.
Giờ cho ae đi xóa 1 node ở 1 cái BST được ko, bữa LinkedIn nó hỏi bài đấy lúc interview khả năng cút là rất cao :beat_brick:
Loser
ucheJZL.gif
ucheJZL.gif
ucheJZL.gif

Java:
class Solution {
    public static final int MAX_LEFT = 0;
    public static final int MIN_RIGHT = 1;
    public int replace = -1;
    public TreeNode deleteNode(TreeNode root, int key) {
      if (root == null) return null;
      
      if (root.val == key) {
        if (root.left != null) {
          root.left = maxLeft(root.left);
        } else if (root.right != null) {
          root.right = minRight(root.right);
        } else {
          return null;
        }

        root.val = replace;
      }

      if (root.val < key) {
        root.right = deleteNode(root.right, key);
      } else {
        root.left = deleteNode(root.left, key);
      }

      return root;
    }

    public TreeNode maxLeft(TreeNode root) {
      if (root == null) return null;
      if (root.left == null && root.right == null) {
        replace = root.val;
        return null;
      }
      if (root.right != null) {
        root.right = maxLeft(root.right);
        return root;
      }
      replace = root.val;
      return root.left;
    }

    public TreeNode minRight(TreeNode root) {
      if (root == null) return null;
      if (root.left == null && root.right == null) {
        replace = root.val;
        return null;
      }

      if (root.left != null) {
        root.left = minRight(root.left);
        return root;
      }

      replace = root.val;
      return root.right;
    }

}
1754734592682.png
 
Loser
ucheJZL.gif
ucheJZL.gif
ucheJZL.gif

Java:
class Solution {
    public static final int MAX_LEFT = 0;
    public static final int MIN_RIGHT = 1;
    public int replace = -1;
    public TreeNode deleteNode(TreeNode root, int key) {
      if (root == null) return null;
      
      if (root.val == key) {
        if (root.left != null) {
          root.left = maxLeft(root.left);
        } else if (root.right != null) {
          root.right = minRight(root.right);
        } else {
          return null;
        }

        root.val = replace;
      }

      if (root.val < key) {
        root.right = deleteNode(root.right, key);
      } else {
        root.left = deleteNode(root.left, key);
      }

      return root;
    }

    public TreeNode maxLeft(TreeNode root) {
      if (root == null) return null;
      if (root.left == null && root.right == null) {
        replace = root.val;
        return null;
      }
      if (root.right != null) {
        root.right = maxLeft(root.right);
        return root;
      }
      replace = root.val;
      return root.left;
    }

    public TreeNode minRight(TreeNode root) {
      if (root == null) return null;
      if (root.left == null && root.right == null) {
        replace = root.val;
        return null;
      }

      if (root.left != null) {
        root.left = minRight(root.left);
        return root;
      }

      replace = root.val;
      return root.right;
    }

}
Xem tệp đính kèm 3182606
Cười, đây là kiểu bài một tháng sau fen quay lại fen éo làm được nữa cho xem
Wf29Rhg.gif


via theNEXTvoz for iPhone
 
nay dễ thím ạ, giờ vào feed kịp đấy, từ lúc đổi về avatar xứ shire có buff ẩn ngay làm trơn chu vl :extreme_sexy_girl:
bài 4 dở hơi đi pruning ăn 1 bug chết test ẩn, bỏ đi pass luôn
:v bài 4 Bactrack + Prunning đúng không bác, em thấy số lượng tổ hợp ít nma không kịp code @@
 
Với 15 chữ số thì chỉ có 10 tổ hợp build được :> rồi gen palindrome từ các tổ hợp đấy rồi lấy min
 
:v bài 4 Bactrack + Prunning đúng không bác, em thấy số lượng tổ hợp ít nma không kịp code
Dễ thím. Gen tất cả các số thỏa mãn có độ dài <16 là dc. Loop 1-> 2^9 để lấy các chữ số có thể chọn. Với mỗi bộ check xem có thỏa mãn hai điều kiện là chỉ có tối đa 1 số lẻ và tổng chữ số <=16 là được
Xong mỗi bộ đó gen các số palindrome thôi. Nhét chung vào một mảng rồi sort xong dùng bisect tìm số thỏa mãn
Phần bên trên làm một lần như mấy bài sàng erathosenes là được.
 
Dạo này Contest ko hỏi Dp luôn nên làm Dp ngọng phết. Bài daily medium cũng còn ăn bug :sweat:
Đúng là ko học ko làm là quên ngay :sweat:

via theNEXTvoz for iPhone
 

Thống kê chủ đề

Ngày tạo
freedom.9,
Người trả lời cuối
deple20k,
Trả lời
1.686
Lượt xem
107.093
Quay lại
Lên đầu trang