LeetCodeに毎日挑戦してみた 58. Search Insert Position(Python、Go)


はじめに

無料英単語サイトE-tanを運営中の@ishishowです。

プログラマとしての能力を上げるために毎日leetcodeに取り組み、自分なりの解き方を挙げていきたいと思います。

Leetcodeとは

leetcode.com
ソフトウェア開発職のコーディング面接の練習といえばこれらしいです。
合計1500問以上のコーデイング問題が投稿されていて、実際の面接でも同じ問題が出されることは多いらしいとのことです。

golang入門+アルゴリズム脳の強化のためにgoとPythonで解いていこうと思います。(Pythonは弱弱だが経験あり)

13問目(問題58)

58. Length of Last Word

問題内容

Given a string s consists of some words separated by spaces, return the length of the last word in the string. If the last word does not exist, return 0.

A word is a maximal substring consisting of non-space characters only.

(日本語訳)

文字列sがスペースで区切られたいくつかの単語で構成されている場合、文字列の最後の単語の長さを返します。最後の単語が存在しない場合は、を返し0ます。

言葉は、唯一の非空白文字から成る最大の部分文字列です。

Example 1:

  Input: s = "Hello World"
  Output: 5

Example 2:

  Input: s = " "
  Output: 0

考え方

  1. strip(接頭語、設備後の空白の削除)とsplit(空白で文字列を配列に分割)を使う

  2. 最後の要素の文字数を戻り値とする

  • 解答コード
  class Solution(object):
      def lengthOfLastWord(self, s):
          strs = s.strip().split(" ")
          return len(strs[-1])

  • Goでも書いてみます!
import (
    "strings"
)

func lengthOfLastWord(s string) int {
    strs := strings.Split(strings.TrimSpace(s), " ")
    return len(strs[len(strs)-1])
}