GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — leetcode-algorithms/python/string_compression.py at master · anishLearnsToCode/leetcode-algorithms Expand file tree/ Copy pathstring_compression.pyMore file actions 27 lines (24 loc) · 974 Bytes / Copy pathstring_compression.pyFile metadata and controls27 lines (24 loc) · 974 Bytes 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 from typing import List from collections import deque class Solution: def compress(self, chars: List[str]) -> int: compressed_strings = deque() current_char, count,length = chars[0], 0, 0 for character in chars: if character == current_char: count += 1 else: compressed_strings.append((current_char, str(count))) length += 1 + (len(str(count)) if count > 1 else 0) current_char = character count = 1 compressed_strings.append((current_char, str(count))) length += 1 + (len(str(count)) if count > 1 else 0) i = 0 for compressed_string in compressed_strings: character, count = compressed_string chars[i] = character if int(count) > 1: chars[i + 1:i + 1 + len(count)] = count i += 1 + (len(count) if int(count) > 1 else 0) return length |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |