# 8.5 Practice Problems

## Problem 1: Arrays - Maximum Subarray Sum

Problem: Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum.

Solution: We can solve this problem using Kadane's algorithm. Here is a Python code for this problem.

## Problem 2: Linked Lists - Reverse a Linked List

Problem: Given the head of a singly linked list, reverse the list, and return the reversed list.

Solution: We can solve this problem by iteratively reversing the pointers of the linked list.

## Problem 3: Stacks - Valid Parentheses

Problem: Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid. An input string is valid if: Open brackets must be closed by the same type of brackets, and open brackets must be closed in the correct order.

Solution: This problem can be solved by using a stack.