የፓረንቴሲስ LeetCode መፍትሔ ነጥብ

የችግር መግለጫ የ Parenthesis LeetCode Solution ውጤት እንዲህ ይላል - ሚዛናዊ ቅንፍ string s ተሰጥቶ እና ከፍተኛውን ነጥብ ይመልሱ። የተመጣጠነ ቅንፍ ሕብረቁምፊ ውጤት በሚከተሉት ሕጎች ላይ የተመሰረተ ነው፡ “()” ነጥብ አለው 1. AB ነጥብ A + B አለው፣ A እና B ሚዛናዊ ቅንፍ ሕብረቁምፊዎች ናቸው። (ሀ) ነጥብ 2 * A አለው፣ ሀ ደግሞ…

ተጨማሪ ያንብቡ

ሁለትዮሽ ዛፍ Inorder Traversal LeetCode መፍትሔ

የችግር መግለጫ፡- የሁለትዮሽ ዛፍ ቅደም ተከተል መሻገሪያ የሊትኮድ መፍትሄ የሁለትዮሽ ዛፍ ሥር ከተሰጠን፣ የአንጓዎቹን እሴቶቹን ቅደም ተከተል መተላለፍን ይመልሱ። ምሳሌ 1፡ ግብዓት፡ ስርወ = [1,null,2,3] ውጤት፡ [1,3,2፣2፣3] ምሳሌ 1፡ ግቤት፡ ስር = [] ውጤት፡ [] ምሳሌ 1፡ ግቤት፡ ስር = [XNUMX] ውጤት፡ [XNUMX] ገደቦች፡ በ ውስጥ ያሉት የአንጓዎች ብዛት…

ተጨማሪ ያንብቡ

ሕብረቁምፊ Leetcode መፍትሔ ዲኮድ

የችግር መግለጫ የሕብረቁምፊ መፍታት የ LeetCode መፍትሄ - "ሕብረቁምፊን መፍታት" ኮድ የተደረገውን ሕብረቁምፊ ወደ ዲኮድ ሕብረቁምፊ እንዲቀይሩ ይጠይቅዎታል። የመቀየሪያ ደንቡ k[encoded_string] ሲሆን በካሬው ቅንፍ ውስጥ ያለው ኢንኮድ_ሕብረቁምፊ በትክክል k ጊዜ እየተደጋገመ ሲሆን k አዎንታዊ ኢንቲጀር ነው። ምሳሌ፡ ግቤት፡ s = ”3[a]2[bc]” ውጤት፡ “aaabcbc”…

ተጨማሪ ያንብቡ

ጠፍጣፋ ሁለትዮሽ ዛፍ ከተገናኘው ዝርዝር LeetCode መፍትሄ

ጠፍጣፋ ሁለትዮሽ ዛፍ ከተገናኘው ዝርዝር LeetCode መፍትሄ ይላል - የተሰጠው root የሁለትዮሽ ዛፍ ፣ ዛፉን ወደ “የተገናኘ ዝርዝር” ጠፍጣፋ ያድርጉት።

  • "የተገናኘው ዝርዝር" ተመሳሳይ መጠቀም አለበት TreeNode ክፍል የት right የህጻን ጠቋሚ በዝርዝሩ ውስጥ ወደሚቀጥለው መስቀለኛ መንገድ እና የ left የልጅ ጠቋሚ ሁልጊዜ ነው null.
  • "የተገናኘው ዝርዝር" በተመሳሳይ ቅደም ተከተል መሆን አለበት ሀ የቅድሚያ ትእዛዝ መተላለፍ የሁለትዮሽ ዛፍ.

 

ምሳሌ 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 ላይ የስር መስቀለኛ መንገድ የቀኝ ጠቋሚን ከግራ-ንዑስ ዛፍ ጋር እናገናኘዋለን እና የግራ-ንዑስ ዛፍ ባዶ እናስቀምጣለን።
  • በደረጃ 3 ላይ አሁን የእኛ ስርወ ኖድ የቀኝ-ንዑስ መስቀለኛ መንገድ ነው ተመሳሳይ ሂደት በዚህ መስቀለኛ መንገድ ይከሰታል እና ሁሉም የግራ ክፍሎች ባዶ እስኪሆኑ ድረስ ሂደቱ ይቀጥላል።

የጠፍጣፋ ሁለትዮሽ ዛፍ ከተገናኘው ዝርዝር Leetcode መፍትሄ ጋር አቀራረብ -

- መጀመሪያ ላይ አንድ loop እሮጣለሁ (ሥር ! = null) ከዚያ ሁለት ተለዋዋጮችን ወስጄ የግራ-ንዑስ ዛፍን አከማችታለሁ።

- ከዚያም (k.left != null) በመጠቀም በቀኝ በኩል ያለውን የግራ-ንዑስ ዛፍ ኖድ ይፈትሹ እና ያንን መስቀለኛ መንገድ ከቀኝ ንዑስ ዛፍ ጋር ያገናኘዋል (k.right = root.right)።

- በመቀጠል የቀኝ ጠቋሚውን የስር ኖድ በግራ ንዑስ ዛፍ (root.right = ግራ) ያገናኙ እና የግራ ጠቋሚውን ባዶ (root.left=null) አድርገው ያስቀምጡ እና በ ( root = root.right ) ይሻሻላል ስለዚህ አሁን ስርወ ትክክል ነው የከርሰ ምድር መስቀለኛ መንገድ.

- ሁሉም የግራ-ንዑስ ክፍሎች ትክክለኛ ንዑስ ክፍል እስኪሆኑ ድረስ ይህ ሂደት ይቀጥላል። ስለዚህ, የሁለትዮሽ ዛፉ ጠፍጣፋ ይሆናል.

 

ጠፍጣፋ ሁለትዮሽ ዛፍ ከተገናኘው ዝርዝር LeetCode መፍትሄ

ጠፍጣፋ ሁለትዮሽ ዛፍ ከተገናኘው ዝርዝር LeetCode መፍትሄ

Python መፍትሄ፡-

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)

የቦታ ውስብስብነት: - O (1)

አንድ ጊዜ ብቻ እንደተጓዝን፣ የጊዜ ውስብስብነት o(n) ይሆናል።

እና ምንም ተጨማሪ ቦታ ስላልወሰድን የቦታ ውስብስብነት o(1) የማያቋርጥ ተጨማሪ ቦታ ይሆናል።

ተመሳሳይ ጥያቄ- https://www.tutorialcup.com/interview/linked-list/flattening-linked-list.htm

ሁለት ቁጥሮች ጨምር II Leetcode Solution

የችግር መግለጫ ሁለት ቁጥሮች ጨምር II LeetCode Solution - "ሁለት ቁጥሮች ጨምር II" ሁለት ባዶ ያልሆኑ የተገናኙ ዝርዝሮች ሁለት አሉታዊ ያልሆኑትን ኢንቲጀር እንደሚወክሉ ይናገራል በጣም አስፈላጊው አሃዝ መጀመሪያ ሲመጣ እና እያንዳንዱ መስቀለኛ መንገድ በትክክል አንድ አሃዝ ይይዛል። ሁለቱን ቁጥሮች ማከል እና ድምርን እንደ…

ተጨማሪ ያንብቡ

ዕለታዊ የሙቀት መጠኖች Leetcode መፍትሄ

የችግር መግለጫ ዕለታዊ የሙቀት መጠኑ ሊትኮድ ሶሉሽን፡ የኢንቲጀር ሙቀቶች ድርድር የየቀኑን የሙቀት መጠን እንደሚወክል ይናገራል፣ የድርድር መልስ ይመልሱ እንደዚህ አይነት መልስ[i] ሞቃታማ ሙቀትን ለማግኘት ከቀኑ በኋላ የሚጠብቁት የቀናት ብዛት ነው። ይህ የሚቻልበት የወደፊት ቀን ከሌለ፣ በምትኩ መልስ[i] == 0 አቆይ። …

ተጨማሪ ያንብቡ

ትክክለኛ ወላጆች የ LeetCode መፍትሄ ለመስራት ቢያንስ አስወግድ

የችግር መግለጫ የሊትኮድ መፍትሔ ትክክለኛ ወላጆችን ለማድረግ ትንሹ አስወግድ - የ'('፣ ')' እና ትንሽ የእንግሊዝኛ ቁምፊዎች ሕብረቁምፊ ይሰጥዎታል። የእርስዎ ተግባር ዝቅተኛውን የቅንፍ ብዛት ('('ወይም')'፣በማንኛውም ቦታ ላይ ማስወገድ ነው በዚህም የተነሳ የቅንፍ ህብረቁምፊው…

ተጨማሪ ያንብቡ

ዝናብ ውሃ Leetcode መፍትሔ ወጥመድ

የችግር መግለጫ የዝናብ ማጥመጃው ውሃ ሊትኮድ መፍትሄ - "የዝናብ ውሃ ማጥመድ" የከፍታ ቦታን የሚወክል የከፍታ ካርታ ሲሰጥ የእያንዳንዱ አሞሌ ስፋት 1. ከዝናብ በኋላ የተጠመደውን የውሃ መጠን መፈለግ አለብን። ምሳሌ፡ ግቤት፡ ቁመት = [0,1,0,2,1,0,1,3,2,1,2,1] ውጤት፡ 6 ማብራሪያ፡ አረጋግጥ…

ተጨማሪ ያንብቡ

ትክክለኛ ቅንጣቢ Leetcode መፍትሄ

የችግር መግለጫ ትክክለኛ የወላጆች ሊትኮድ መፍትሄ - "ትክክለኛ ቅንፎች" የሚለው ቃል '('፣ ')'፣ '{'፣ '}'፣ '[' እና ']' ቁምፊዎችን የያዘ ሕብረቁምፊ እንደተሰጥዎት ይገልጻል። የግቤት ሕብረቁምፊው የሚሰራ ወይም የማይሰራ መሆኑን ማወቅ አለብን። ክፍት ቅንፎች መዘጋት ካለባቸው ሕብረቁምፊው የሚሰራ ሕብረቁምፊ ነው ተብሏል።

ተጨማሪ ያንብቡ

ከፍተኛው የድግግሞሽ ቁልል Leetcode መፍትሄ

የችግር መግለጫ ከፍተኛው የድግግሞሽ ቁልል LeetCode መፍትሄ - "ከፍተኛ የፍሪኩዌንሲ ቁልል" የፍሪኩዌንሲ ቁልል እንዲነድፉ ይጠይቅዎታል በማንኛውም ጊዜ ከቁልል ላይ አንድ ኤለመንት ብቅ ባለ ቁጥር ቁልል ውስጥ የሚገኘውን በጣም ተደጋጋሚውን ንጥረ ነገር መመለስ አለበት። FreqStack ክፍልን ይተግብሩ፡ FreqStack() ባዶ ድግግሞሽ ቁልል ይገነባል። ባዶ ግፊት (int val) የሚገፋፋዎች…

ተጨማሪ ያንብቡ

Translate »