cpeggy / DataStructure

0 stars 0 forks source link

Prefix sum-Leecode #1

Open cpeggy opened 1 year ago

cpeggy commented 1 year ago

14.Longest Common Prefix

Write a function to find the longest common prefix string amongst an array of strings.

If there is no common prefix, return an empty string "". Example 1: Input: strs = ["flower","flow","flight"] Output: "fl"

Example 2: Input: strs = ["dog","racecar","car"] Output: "" Explanation: There is no common prefix among the input strings.

Constraints: 1 <= strs.length <= 200 0 <= strs[i].length <= 200 strs[i] consists of only lowercase English letters.

cpeggy commented 1 year ago
class Solution:
    def longestCommonPrefix(self, strs: List[str]) -> str:

        if not strs: 
            return ""

        str1 = min(strs)
        str2 = max(strs)

        for i, k in enumerate(str1):
            if k != str2[i]:
                return str1[:i]
        return str1``
cpeggy commented 1 year ago

1732. Find the Highest Altitude

There is a biker going on a road trip. The road trip consists of n + 1 points at different altitudes. The biker starts his trip on point 0 with altitude equal 0.

You are given an integer array gain of length n where gain[i] is the net gain in altitude between points i​​​​​​ and i + 1 for all (0 <= i < n). Return the highest altitude of a point.

Example 1:

Input: gain = [-5,1,5,0,-7]
Output: 1
Explanation: The altitudes are [0,-5,-4,1,1,-6]. The highest is 1.

Example 2:

Input: gain = [-4,-3,-2,-1,4,3,2]
Output: 0
Explanation: The altitudes are [0,-4,-7,-9,-10,-6,-3,-1]. The highest is 0.

Constraints:

n == gain.length 1 <= n <= 100 -100 <= gain[i] <= 100

cpeggy commented 1 year ago
class Solution:
    def largestAltitude(self, gain: List[int]) -> int:
        altitudes = 0
        hight = 0
        for g in gain:
            altitudes += g
            hight = max(hight, altitudes)
        return hight