input: Write a python function to parse the given HTML table and return a list of dictionaries representing each row in the table.
  assert parse_html_table(html_content) == [
      {
          "Programming Language": "Java",
          "Market Share": "27.2%",
          "Features": "Platform independence, wide support from the development community, good scalability"
      },
      {
          "Programming Language": "C",
          "Market Share": "15.2%",
          "Features": "Widely used among developers, efficiency, well-used in embedded systems"
      },
      {
          "Programming Language": "C++",
          "Market Share": "9.2%",
          "Features": "Object-oriented features, used in various industries, platform independent"
      },
      {
          "Programming Language": "Python",
          "Market Share": "8.2%",
          "Features": "Easy to learn and use, dynamic programming language, good scalability"
      },
      {
          "Programming Language": "C#",
          "Market Share": "7.4%",
          "Features": "Object-oriented, popular for enterprise development, reliable memory management"
      }
  ]
  assert parse_html_table("<html></html>") == []
output: def parse_html_table(html_content):
      from bs4 import BeautifulSoup
  
      soup = BeautifulSoup(html_content, 'html.parser')
      table = soup.find('table')
      if not table:
          return []
  
      headers = [header.text.strip() for header in table.find_all('th')]
      rows = []
  
      for row in table.find_all('tr')[1:]:
          cells = row.find_all('td')
          if len(cells) == len(headers):
              row_data = {}
              for i, cell in enumerate(cells):
                  row_data[headers[i]] = cell.text.strip()
              rows.append(row_data)
      return rows