Bobinas P4G
  • Login
  • Public

    • Public
    • Groups
    • Popular
    • People

Conversation

Notices

  1. La Fée Verte (absinthe@qoto.org)'s status on Monday, 11-Nov-2019 00:12:43 UTC La Fée Verte La Fée Verte

    #toyprogrammingchallenge

    I borrowed this one from codewars

    Snail Sort
    Given an n x n array, return the array elements arranged from outermost elements to the middle element, traveling clockwise.

    array = [[1,2,3],
    [4,5,6],
    [7,8,9]]
    snail(array) #=> [1,2,3,6,9,8,7,4,5]
    For better understanding, please follow the numbers of the next array consecutively:

    array = [[1,2,3],
    [8,9,4],
    [7,6,5]]
    snail(array) #=> [1,2,3,4,5,6,7,8,9]
    This image will illustrate things more clearly:

    NOTE: The idea is not sort the elements from the lowest value to the highest; the idea is to traverse the 2-d array in a clockwise snailshell pattern.

    In conversation Monday, 11-Nov-2019 00:12:43 UTC from qoto.org permalink

    Attachments


    1. https://storage.gra5.cloud.ovh.net/v1/AUTH_011f6e315d3744d498d93f6fa0d9b5ee/qotoorg/media_attachments/files/005/998/896/original/9391ac3a9ed4f5d8.png
    • 🎓 Dr. Freemo :jpf: 🇳🇱 repeated this.
    • La Fée Verte (absinthe@qoto.org)'s status on Tuesday, 12-Nov-2019 02:59:18 UTC La Fée Verte La Fée Verte

      def snail_sort(matrix):
      new_list = []

      while matrix:
      new_list.extend(matrix.pop(0))
      if not matrix:
      continue

      for i in range(len(matrix)):
      new_list.append(matrix[i].pop())
      if not matrix:
      break
      if not matrix:
      continue

      new_list.extend(reversed(matrix.pop()))
      if not matrix:
      continue

      for i in range(len(matrix) - 1, -1, -1):
      new_list.append(matrix[i].pop(0))
      if not matrix:
      break
      return new_list

      MATRIX = [
      [1, 2, 3, 4, 5],
      [16, 17, 18, 19, 6],
      [15, 24, 25, 20, 7],
      [14, 23, 22, 21, 8],
      [13, 12, 11, 10, 9],
      ]

      snail_sort(MATRIX)

      In conversation Tuesday, 12-Nov-2019 02:59:18 UTC permalink
      🎓 Dr. Freemo :jpf: 🇳🇱 repeated this.

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • Privacy
  • Source
  • Version
  • Contact

Bobinas P4G is a social network. It runs on GNU social, version 2.0.1-beta0, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All Bobinas P4G content and data are available under the Creative Commons Attribution 3.0 license.