<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                **問題描述** 有一個機器人,給一串指令,L 左轉 R 右轉,F 前進一步,B 后退一步,問最后機器人的坐標,最開始,機器人位于 0 0,方向為正 Y。 可以輸入重復指令 n : 比如 R2(LF) 這個等于指令 RLFLF。 問最后機器人的坐標是多少? **解題思路** 這里的一個難點是解析重復指令。主要指令解析成功,計算坐標就簡單了。 **源碼參考** ~~~ package main import ( "unicode" ) const ( Left = iota Top Right Bottom ) func main() { println(move("R2(LF)", 0, 0, Top)) } func move(cmd string, x0 int, y0 int, z0 int) (x, y, z int) { x, y, z = x0, y0, z0 repeat := 0 repeatCmd := "" for _, s := range cmd { switch { case unicode.IsNumber(s): repeat = repeat*10 + (int(s) - '0') case s == ')': for i := 0; i < repeat; i++ { x, y, z = move(repeatCmd, x, y, z) } repeat = 0 repeatCmd = "" case repeat > 0 && s != '(' && s != ')': repeatCmd = repeatCmd + string(s) case s == 'L': z = (z + 1) % 4 case s == 'R': z = (z - 1 + 4) % 4 case s == 'F': switch { case z == Left || z == Right: x = x - z + 1 case z == Top || z == Bottom: y = y - z + 2 } case s == 'B': switch { case z == Left || z == Right: x = x + z - 1 case z == Top || z == Bottom: y = y + z - 2 } } } return } ~~~ **源碼解析** 這里使用三個值表示機器人當前的狀況,分別是:x 表示 x 坐標,y 表示 y 坐標,z 表示當前方向。 L、R 命令會改變值 z,F、B 命令會改變值 x、y。 值 x、y 的改變還受當前的 z 值影響。 如果是重復指令,那么將重復次數和重復的指令存起來遞歸調用即可。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看