I tried LeetCode every day 118. Pascal's Triangle (Python, Go)

What is Leetcode

leetcode.com This is the practice of coding interviews for software developers. A total of more than 1,500 coding questions have been posted, and it seems that the same questions are often asked in actual interviews.

Introduction to golang + algorithm I will solve it with go and Python to strengthen the brain. (Python is weak but experienced)

28th question (problem 118)

  1. Pascal's Triangle

the issue's details

Given a non-negative integer numRows, generate the first numRows of Pascal's triangle.

(Japanese translation)

Given a non-negative integer * numRows *, generate the first * numRows * of Pascal's triangle.

img In Pascal's triangle, each number is the sum of the two numbers directly above it.

Example:

Input: 5
Output:
[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]

Way of thinking

  1. Create an empty array and rotate for minutes by the number of numbers

  2. In the loop, add [1] elements according to the number of appends.

  3. Since the left end and the right end are 1, substitute the values ​​with reference to the upper hierarchy in the range excluding it.

  4. Use the finally created lists as the return value

Answer code

class Solution:
  def generate(self, numRows):
      lists = []
      for i in range(numRows):
          lists.append([1]*(i+1))
          if i>1 :
              for j in range(1,i):
                  lists[i][j]=lists[i-1][j-1]+lists[i-1][j]
      return lists

--I'll write it in Go too!

func generate(numRows int) [][]int {
	answer := make([][]int, numRows)
	for i := 0; i < numRows; i += 1 {
		a := make([]int, i+1)
		// add ones
		a[0], a[i] = 1, 1

		if i > 1 {
			for j := 1; j <= i/2; j += 1 {
				a[j] = answer[i-1][j-1] + answer[i-1][j]
				a[len(a)-1-j] = a[j]
			}
		}
		answer[i] = a
	}
	return answer
}

Recommended Posts

I tried LeetCode every day 118. Pascal's Triangle (Python, Go)
I tried LeetCode every day 119. Pascal's Triangle II (Python, Go)
I tried LeetCode every day 7. Reverse Integer (Python, Go)
I tried LeetCode every day 112. Path Sum (Python, Go)
I tried LeetCode every day 20. Valid Parentheses (Python, Go)
I tried LeetCode every day 136. Single Number (Python, Go)
I tried LeetCode every day 125. Valid Palindrome (Python, Go)
I tried LeetCode every day 155. Min Stack (Python, Go)
I tried LeetCode every day 9. Palindrome Number (Python, Go)
I tried LeetCode every day 1. Two Sum (Python, Go)
I tried LeetCode every day 141. Linked List Cycle (Python, Go)
I tried LeetCode every day 13. Roman to Integer (Python, Go)
I tried LeetCode every day 110. Balanced Binary Tree (Python, Go)
I tried LeetCode every day 21. Merge Two Sorted Lists (Python, Go)
I tried LeetCode every day 168. Excel Sheet Column Title (Python, Go)
I tried LeetCode every day 111. Minimum Depth of Binary Tree (Python, Go)
I tried LeetCode every day 26. Remove Duplicates from Sorted Array (Python, Go)
I tried LeetCode every day 160. Intersection of Two Linked Lists (Python, Go)
I tried LeetCode every day 121 Best Time to Buy and Sell Stock (Python, Go)
I tried LeetCode every day 108. Convert Sorted Array to Binary Search Tree (Python, Go)
I tried LeetCode every day 167. Two Sum II --Input array is sorted (Python, Go)
I tried LeetCode every day 122. Best Time to Buy and Sell Stock II (Python, Go)
I tried Grumpy (Go running Python).
I tried running faiss with python, Go, Rust
I tried Python> autopep8
I tried Python> decorator
I tried fp-growth with python
I tried scraping with Python
I tried Python C extension
[Python] I tried using OpenPose
I tried gRPC with Python
I tried scraping with python
I tried to touch Python (installation)
I tried web scraping with python.
I tried using Thonny (Python / IDE)
I tried running prolog with python 3.8.2.
I tried Line notification in Python
I tried SMTP communication with Python
[Python] I tried using YOLO v3
I tried to summarize Python exception handling
I tried to implement PLSA in Python
Wrangle x Python book I tried it [2]
I tried to implement PLSA in Python 2
Python3 standard input I tried to summarize
I tried sending an email with python.
I tried non-photorealistic rendering with Python + opencv
I tried using UnityCloudBuild API from Python
I tried to implement ADALINE in Python
I tried a functional language with Python
I tried to implement PPO in Python
Python: I tried the traveling salesman problem
Wrangle x Python book I tried it [1]
Mayungo's Python Learning Episode 8: I tried input
[Python] I tried to calculate TF-IDF steadily
I tried scraping Yahoo weather (Python edition)
I tried to touch Python (basic syntax)
I tried the Python Tornado Testing Framework
#I tried something like Vlookup with Python # 2
[LIVE] I tried to deliver the sunrise and sunset times nationwide every day
Python day 1
[Baseball Hack] I tried copying the Python MLB score & grade data acquisition script with Go in half a day