leetcode官方《初级算法》题集(四)排序和搜索,动规、设计、数学

image.png

image.png

image.png
image.png
image.png
image.png
image.png

image.png

image.png

设计问题
这类问题通常要求你实现一个给定的类的接口,并可能涉及使用一种或多种数据结构。 这些问题对于提高数据结构是很好的练习。

(一)、打乱数组

给你一个整数数组 nums ,设计算法来打乱一个没有重复元素的数组。
实现 Solution class:

  • Solution(int[] nums) 使用整数数组 nums 初始化对象
  • int[] reset() 重设数组到它的初始状态并返回
  • int[] shuffle() 返回数组随机打乱后的结果
    image.png

    image.png

    https://leetcode-cn.com/problems/shuffle-an-array/solution/da-luan-shu-zu-by-leetcode/

(二)、最小栈

image.png

image.png

https://leetcode-cn.com/problems/min-stack/solution/zui-xiao-zhan-by-leetcode-solution/


数学
面试中提出的大部分数学问题都不需要超出初中阶段的数学知识。
(一)、计算质数
统计所有小于非负整数 n 的质数的数量。


image.png

image.png

image.png

image.png

(二)、3的幂
给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。
整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3x


image.png

image.png

image.png

image.png

image.png

image.png

你可能感兴趣的:(leetcode官方《初级算法》题集(四)排序和搜索,动规、设计、数学)