算法实战_0514

PPT

PPT地址

内容

如何学习算法

刷题技巧

  1. 由浅入深。
  2. 不要同时分散学不同的算法。
  3. 实现优先,有余力情况下优化。

leetcode 刷题

  1. 按类型分类刷。
  2. 从通过率高或者从简单的题目开始刷。

时间复杂度

二分查找

  • 确定搜索区间的左右边界,然后计算中间元素的下标。
  • 判断目标元素是否等于中间元素,如果相等则返回下标。
  • 如果不相等,则判断目标元素在左半边还是右半边,继续在该区间中查找。
  • 重复此过程直到找到目标元素或确定目标元素不存在于数组中。

题目

  • 题目1:力扣
  • 3点结束,做完的同学评论截图
class Solution:
    def findNumbers(self, nums: List[int]) -> int:
        # 1. 遍历列表
        # 2. 获取其中位数为偶数的元素。
        # 3. 统计 位数为偶数的元素 的个数
        count = 0
        for i in nums:
            # 如何知道为偶数
            # len(str(i)) 即可获取到元素的长度。
            # 对长度取余,如果余数为0,则满足偶数需求
            if len(str(i)) %2 == 0:
                count = count+1
        return count

  • 题目2: 力扣
  • 4点半结束, 做完的同学评论截图。