اسکور آف پرينٿيسس LeetCode حل

مسئلي جو بيان قوس جو اسڪور LeetCode حل چوي ٿو - ڏنو ويو هڪ متوازن قوسین اسٽرنگ s ۽ وڌ ۾ وڌ اسڪور واپس ڏيو. هڪ متوازن قوس جي تار جو اسڪور هيٺين قاعدن تي ٻڌل آهي: "()" جو اسڪور 1 آهي. AB جو اسڪور A + B آهي، جتي A ۽ B متوازن قوس وارا اسٽرنگ آهن. (A) کي 2 * A جو نمبر ڏنو آهي، جتي A آهي…

وڌيڪ پڙهڻ

Binary Tree Inorder Traversal LeetCode Solution

مسئلي جو بيان: بائنري ٽري ان آرڊر ٽرورسل ليٽ ڪوڊ جو حل بائنري وڻ جي روٽ کي ڏنو وڃي، ان جي نوڊس جي قدرن جي ان آرڊر ٽرورسل کي واپس ڏيو. مثال 1: Input: root = [1,null,2,3] Output: [1,3,2] Example 2: Input: root = [] Output: [] Example 3: Input: root = [1] Output: [1] پابنديون: نوڊس جو تعداد ...

وڌيڪ پڙهڻ

Decode String Leetcode حل

مسئلي جو بيان ڊيڪوڊ اسٽرنگ LeetCode حل - ”ڊيڪوڊ اسٽرنگ“ توھان کان پڇي ٿو ته انڪوڊ ٿيل اسٽرنگ کي ڊيڪوڊ ٿيل اسٽرنگ ۾ تبديل ڪريو. انڪوڊنگ جو قاعدو k[encoded_string] آهي، جتي چورس بریکٹ اندر encoded_string کي بلڪل k ڀيرا ورجايو پيو وڃي، جتي k هڪ مثبت عدد آهي. مثال: ان پٽ: s = ”3[a]2[bc]“ آئوٽ پٽ: ”aaabcbc“ …

وڌيڪ پڙهڻ

بائنري وڻ کي جڙيل لسٽ ۾ فليٽ ڪريو LeetCode حل

بائنري وڻ کي جڙيل لسٽ ۾ فليٽ ڪريو LeetCode حل چوي ٿو - ڏنو root هڪ بائنري وڻ جو، وڻ کي "منسلڪ لسٽ" ۾ برابر ڪريو:

  • "ڳنڍيل لسٽ" کي ساڳيو استعمال ڪرڻ گهرجي TreeNode ڪلاس جتي right چائلڊ پوائنٽر لسٽ ۾ ايندڙ نوڊ ڏانهن اشارو ڪري ٿو ۽ left ٻار جو اشارو هميشه آهي null.
  • "ڳنڍيل لسٽ" ساڳئي ترتيب ۾ هجڻ گهرجي جيئن a پري آرڊر سفر ڪندڙ بائنري وڻ جو.

 

مثال 1:

بائنري وڻ کي جڙيل لسٽ ۾ فليٽ ڪريو LeetCode حلانٽرويو

 root = [1,2,5,3,4,null,6]

پيداوار:

 [1,null,2,null,3,null,4,null,5,null,6]

مثال 2:

انٽرويو

 root = []

پيداوار:

 []

مثال 3:

انٽرويو

 root = [0]

پيداوار:

 [0]

 

الگورتھم -

IDEA -

  • هڪ بائنري وڻ کي برابر ڪرڻ لاءِ، اسان سڀ کان پهريان کاٻي سبٽري جي ساڄي پاسي واري عنصر کي ڳولينداسين ۽ ساڄي پاسي واري عنصر حاصل ڪرڻ کان پوءِ اسان ان نوڊ جي ساڄي پوائنٽر کي ڏنل وڻ جي ساڄي سبٽري سان ڳنڍينداسين.
  • قدم 2 ۾ اسان روٽ نوڊ جي ساڄي پوائنٽر کي کاٻي-سب ٽري سان ڳنڍينداسين ۽ کاٻي-سب ٽري کي null طور سيٽ ڪنداسين.
  • مرحلا 3 ۾ هاڻي اسان جو روٽ نوڊ هڪ ساڄي-سب ٽري نوڊ آهي ساڳيو عمل هن نوڊ سان ٿيندو ۽ اهو عمل اڃا تائين جاري رهندو جيستائين سڀئي کاٻي حصا null نه ٿي وڃن.

لنڪ ٿيل لسٽ ليٽ ڪوڊ حل لاءِ فليٽ بائنري وڻ لاءِ اپروچ -

- پهرين ۾، مان هڪ لوپ هلائيندس يعني while(root!= null) پوءِ ٻه ويريئبل کڻندس ۽ کاٻي-سب ٽري کي اسٽور ڪندس.

- پوءِ چيڪ ڪندو کاٻي-سب ٽريءَ جي ساڄي نوڊ لاءِ جڏهن (k.left != null) استعمال ڪندي ۽ ان نوڊ کي ساڄي سب ٽري سان ڳنڍيندو (k.right = root.right) استعمال ڪندي.

- پوءِ روٽ نوڊ جي ساڄي پوائنٽر کي کاٻي سب ٽري (root.right = کاٻي) سان ڳنڍيو ۽ روٽ نوڊ جي کاٻي پوائنٽر کي null (root.left=null) سان سيٽ ڪريو ۽ (root = root.right) ذريعي اپڊيٽ ڪيو ويندو، تنهنڪري هاڻي روٽ صحيح آهي. subtree node.

- اھو عمل جاري رھندو جيستائين سڀ کاٻي-سب ٽري حصا ساڄي ذيلي وڻ بڻجي وڃن. ان ڪري، بائنري جو وڻ چٽو ٿيندو.

 

بائنري وڻ کي جڙيل لسٽ ۾ فليٽ ڪريو LeetCode حل

بائنري وڻ کي جڙيل لسٽ ۾ فليٽ ڪريو LeetCode حل

پٿون حل:

class Solution:
    def flatten(self, root: Optional[TreeNode]) -> None:
        while(root):
            
            if root.left:
                
                k = root.left
                temp = root.left
            
            
                while(k.right):
                    k = k.right
            
                k.right = root.right
            
                root.right = temp
            
                root.left = None
            
            root = root.right

جاوا حل:

class Solution {
    public void flatten(TreeNode root) {       
        while (root != null) {
            if (root.left != null) {
                TreeNode k = root.left;
                TreeNode temp = root.left;
                while (k.right != null) k = k.right;
                k.right = root.right;
                root.right = temp;
                root.left = null;
            }
            root = root.right;
        }
    }
}

وقت جي پيچيدگي: O(N)

خلائي پيچيدگي: اي (1)

جيئن ته اسان صرف هڪ ڀيرو گذري چڪا آهيون، وقت جي پيچيدگي o (n) هوندي.

۽ جيئن ته اسان ڪا اضافي جاءِ نه ورتي آهي، خلائي پيچيدگي o(1) مسلسل اضافي جاءِ هوندي.

ساڳيو سوال- https://www.tutorialcup.com/interview/linked-list/flattening-linked-list.htm

ٻه نمبر شامل ڪريو II Leetcode حل

مسئلي جو بيان ٻه نمبر شامل ڪريو II LeetCode حل - "ٻه نمبر شامل ڪريو II" ٻڌائي ٿو ته ٻه غير خالي جڙيل لسٽون ٻن غير منفي عددن جي نمائندگي ڪن ٿيون جتي سڀ کان اهم عدد پهريون اچي ٿو ۽ هر نوڊ ۾ بلڪل هڪ عدد آهي. اسان کي ٻه نمبر شامل ڪرڻ گهرجن ۽ رقم واپس ڪرڻ جي ضرورت آهي جيئن ...

وڌيڪ پڙهڻ

روزاني درجه حرارت Leetcode حل

مسئلي جو بيان The Daily Temperatures Leetcode Solution: ٻڌائي ٿو ته ڏنل انگن اکرن جي درجه بندي روزاني گرمي پد جي نمائندگي ڪري ٿي، هڪ صف جو جواب ڏيو جيئن ته جواب[i] اهو آهي ڏينهن جو تعداد جيڪو توهان کي th ڏينهن کان پوءِ انتظار ڪرڻو پوندو گرمي پد حاصل ڪرڻ لاءِ. جيڪڏهن ڪو مستقبل جو ڏينهن ناهي جنهن لاءِ اهو ممڪن آهي، جواب رکو [i] == 0 بدران. …

وڌيڪ پڙهڻ

گھٽ ۾ گھٽ هٽايو صحيح قوس ٺاهڻ لاءِ LeetCode حل

مسئلي جو بيان The Minimum Remove to make valid parentheses LeetCode Solution – توھان کي ڏنو ويندو ھڪڙو اسٽرنگ s جو '(', ')' ۽ ننڍو انگريزي اکر. توهان جو ڪم اهو آهي ته گهٽ ۾ گهٽ قوس جو تعداد ('(' يا ')'، ڪنهن به پوزيشن ۾ ) کي هٽايو وڃي ته جيئن نتيجو قوس جو اسٽرنگ آهي ...

وڌيڪ پڙهڻ

ٽريپنگ مينهن جو پاڻي Leetcode حل

مسئلي جو بيان The Trapping Rain Water LeetCode Solution – “Trapping Rain Water” ٻڌائي ٿو ته اوچائي جو هڪ سلسلو ڏنو ويو آهي جيڪو هڪ بلندي واري نقشي جي نمائندگي ڪري ٿو جتي هر بار جي ويڪر 1 آهي. اسان کي برسات کان پوءِ ڦاٿل پاڻي جي مقدار کي ڳولڻ جي ضرورت آهي. مثال: ان پٽ: اونچائي = [0,1,0,2,1,0,1,3,2,1,2,1] آئوٽ پٽ: 6 وضاحت: چيڪ ڪريو ...

وڌيڪ پڙهڻ

صحيح قوسون Leetcode حل

مسئلي جو بيان The Valid Parentheses LeetCode حل – “Valid parentheses” ٻڌائي ٿو ته توھان کي ھڪ اسٽرنگ ڏنو ويو آھي جنھن ۾ صرف اکر آھن '(',')', '{', '}', '[' and ']'. اسان کي اهو طئي ڪرڻو پوندو ته ڇا ان پٽ اسٽرنگ صحيح اسٽرنگ آهي يا نه. هڪ اسٽرنگ کي صحيح اسٽرنگ چيو ويندو آهي جيڪڏهن کليل بریکٹ بند ٿيڻ گهرجن ...

وڌيڪ پڙهڻ

وڌ ۾ وڌ فريڪوئنسي اسٽيڪ ليٽ ڪوڊ حل

مسئلي جو بيان وڌ کان وڌ فريڪوئنسي اسٽيڪ ليٽ ڪوڊ حل - “وڌ کان وڌ فريڪوئنسي اسٽيڪ” توهان کي فريڪوئنسي اسٽيڪ ٺاهڻ لاءِ پڇي ٿو جنهن ۾ جڏهن به اسان اسٽيڪ مان ڪنهن عنصر کي پاپ ڪريون ٿا، اهو اسٽيڪ ۾ موجود سڀ کان وڌيڪ بار بار عنصر کي واپس ڪرڻ گهرجي. FreqStack ڪلاس کي لاڳو ڪريو: FreqStack() هڪ خالي فريڪوئنسي اسٽيڪ ٺاهي ٿو. void push (int val) pushes ...

وڌيڪ پڙهڻ

Translate »