zoukankan      html  css  js  c++  java
  • [ 周赛总结 ] 第 186 场力扣周赛

    题目:

    总结:

    1. 递归写的不熟练,第一题写的太丑了
    2. 思维僵化了,没有从反方向考虑,比如第二题

    A: 分割字符串的最大得分

    • 算法:这道题蛮简单的,递归穷举所有可能的情况即可
    • 需要改进的地方:递归写的不够优雅,需要改进
    • # 我的代码:
      class
      Solution: def __init__(self): self.ret = -99 def maxScore(self, s: str) -> int: def resolve(i): if i>=len(s): return 0 left = s[:i] right=s[i:] self.ret = max(self.ret , left.count('0')+right.count('1')) resolve(i+1) return 1 resolve(1) return self.ret
    •  改进:
      class Solution:
          def maxScore(self, s: str) -> int:
              def resolve(i,ans):
                  if i>=len(s):
                      return ans
                  ans = max(ans,s[:i].count('0')+s[i:].count('1'))
                  return resolve(i+1,ans)
              
              ret = resolve(1,-99)
              return ret

    B:可获得的最大点数

    • 算法:用滑动窗口的思路,保持窗口外有K个数,让滑动窗口从最右边滑到最左边,迭代一个最大点数
    • 需要改进的地方:
    1. 开始一直在思考只拿左边、只拿右边、左右同时拿三种情况,递归没写出来。
    2. 递归思路没有反向思考K的值,K递减到1即为出口
    3. 试试其他思路,比如反向考虑:求滑动窗口内的最小值(相对的窗口外的和就是要求的最大点数);求数组连续最小和;等等
    • class Solution:
          def maxScore(self, nums: List[int], k: int) -> int:
              left=k
              right=0
              ans=-1
              left_total = sum(nums[0:left])
              right_total =0
              while left>=0:
                  total = left_total+right_total
                  ans = max(ans,total)  
                  right+=1
                  left-=1
                  left_total-=nums[left]
                  right_total+=nums[len(nums)-right]
          
              return ans

     

    C:对角线遍历 II

    • 算法:哪个鬼才想到的。。。
    1. 找规律,只要在对角线上,那么它的横纵坐标和是相等的,比如示例1

      (0,0),(0,1),(0,2)
      (1,0),(1,1),(1,2)
      (2,0),(2,1),(2,2)
    2. 遍历nums,把横纵坐标和相同的元素放在一起作为值,横纵坐标的和作为键。
    3. 排序字典,输出答案。
  • 相关阅读:
    对Spring <context:annotation-config/>的理解
    Javascript this指针
    go 打造世界最快的go模板引擎gorazor 2.0
    swagger 部署(Mac )
    Ab测试
    Nginx tcp限制并发、IP、记日志
    Nginx proxy_protocol协议与realip模块
    数据结构之回溯
    数据结构之分治
    数据结构之二分查找
  • 原文地址:https://www.cnblogs.com/remly/p/12790885.html
Copyright © 2011-2022 走看看