Day 8: Recap Day [1-7] & Enhance

Recap

Day# Title Level
1 Day 1: Let's start ! None
2 Day 2: LeetCode 978. Longest Turbulent Subarray Medium
3 Day 3: LeetCode 995. Minimum Number of K Consecutive Bit Flips Hard
4 Day 4: LeetCode 995. Minimum Number of K Consecutive Bit Flips(v2) Hard
5 Day 5: LeetCode 88. Merge Sorted Array Easy
6 Day 6: LeetCode 54. Spiral Matrix Medium
7 Day 7: LeetCode 485. Max Consecutive Ones Easy

Enhance

  • [V] Day 2: LeetCode 978. Longest Turbulent Subarray
    • 思路(from Discuss)

      • either up or down begin

        • 上下上下 ...
        • 下上下上 ...
      • 继承上一次(inc/dec)的数量,再加一

    • 程序码

      class Solution:
          def maxTurbulenceSize(self, arr: List[int]) -> int:
              inc = 1
              dec = 1
              res = 1
              for i in range(1,len(arr)):
                  if arr[i] > arr[i-1]:
                      inc = dec+1
                      dec = 1
                  elif arr[i] < arr[i-1]:
                      dec = inc+1
                      inc = 1
                  else:
                      inc = 1
                      dec = 1
                  print("i-inc-dec:",i,inc,dec)    
                  #res = max(inc,dec)
                  res = max([inc,dec,res])
                  print("res:",res)
              return res    
      
      
      
    • Reference

What's more?

  1. 每月挑战(2021.09.22)
    • (Medium) LeetCode 1239. Maximum Length of a Concatenated String with Unique Characters

    • 题意

      • 求unique的最长长度
      • unique's element 怎麽组成?
        Ans: 自己碰其他element所组成
        1. 自己中的每个character需unique
        2. 碰其他时也需unique
    • 思路

      • List 中的每个element(set)都是不同组合,在组合中找最长长度
      • Python-set() Check 自己中是否有重复element
      • 碰前的Check:是否有一样的character→使用&
      • 碰(concate)所用的运算子|
      • Reference
    • 程序码

      class Solution:
      def maxLength(self, arr: List[str]) -> int:
          A = [set()] # set() => {}
          for a in arr:
              if len(set(a))!=len(a):
                  continue
      
              for element in A[:]:
                  if set(a)&element:
                      continue
                  A.append(set(a)|element)    
          print(A)            
          maxLen = (-1)            
          for _ in A:
              if len(_)>maxLen:
                  maxLen = len(_)
          return  maxLen               
      
  2. 目的刷

What's Next?

面试:
> Find Good Job!

Backup at HackMD

Day 8: Recap Day [1-7] & Enhance


<<:  #19. 3D Background Boxes

>>:  Day9|工作区、暂存区、储存库,以及各执行的档案状态

Day25 有关 MANO 轻松使用 - 简介篇

前言 有关虚拟化网路服务的技术慢慢的成熟,对於虚拟化的功能要如何去做管理成了接下来重点,因此再来的几...

大共享时代系列_022_Twitch Plays (衆人同时用弹幕控制一个游戏角色)

同心协力操作一个游戏角色,怎麽那麽难?ヽ(≧Д≦)ノ 你都怎麽玩电玩呢? 独自玩闯关、模拟类游戏? ...

全端入门Day24_後端程序撰写之多一点点的Node.js

昨天介绍了一些名词,今天继续提Node.js Node.js一点入门 今天直接贴上程序码,再去做解释...

Day10,先来聊聊我的Kubernetes看法

正文 在开始建置之前,今天先来聊聊我自己对Kubernetes的想法,Kubernetes是一套co...

入门魔法 - Event 事件

前情提要 艾草:「好了,总算选取到树上的红色果实了,那我来教你一些简单的火属性魔法事件。」 「咦,我...