摘要: 1.题目 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组变为 [16,1,0,9,100] 排序后,数组变为 [0 阅读全文
posted @ 2021-12-13 20:28 曼路的个人博客 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 1.POD数据类型的起源 在C语言时代,只有基本数据类型char、int、float和复合数据类型数组、指针、结构体等。但是在C++时代,出现了抽象数据结构class,类的出现伴随着封装、继承、多态三大特性,这些特性导致了类这一数据类型与ANCI C不兼容,为了使得兼容,推出了POD数据结构的概念。 阅读全文
posted @ 2021-12-08 22:21 曼路的个人博客 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 1.题目 2.解法一:重构字符串法 2.1.思路分析 普通的字符串比较就是一个字符一个字符相比较,但是这个题目中的字符串特殊之处在于,最终真正要比较的字符串和给出的字符串是不一样的,因此我们想到将那些不用比较的字符删除,得到最终的字符串再比较。 2.2.算法描述 算法很简单,分为下面的两步: 首先建 阅读全文
posted @ 2021-12-04 22:45 曼路的个人博客 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 1.算法的概念 1.1.算法的定义 算法是解决问题的一系列操作步骤,而计算机算法要具有一般性,而非只适用于一些特殊实例。 1.2.算法的求解 从实例开始,一步一步解决问题,最终得到算法。 2.算法的描述 算法的描述就是用自然语言、流程图、伪代码这几种方式,以及顺序结构、 分支结构、 循环结构这三种控 阅读全文
posted @ 2021-12-04 16:14 曼路的个人博客 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 1.题目 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 2.解法一:双指针法 2.1.思路分析 当看到题 阅读全文
posted @ 2021-12-03 20:58 曼路的个人博客 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 1.题目 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 2.思路 2.1.读题 n阶才能到 每次只能爬1或2阶 未知量是爬到n阶的方法数 2.2.分析 首先明确该题目含有最优子结构,因此可以使用 阅读全文
posted @ 2021-11-27 15:51 曼路的个人博客 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 1.题目 斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0,F(1) = 1 F(n) = F(n - 1) + F(n - 2),其中 n > 1 给你 n ,请计算 F(n) 。 2. 阅读全文
posted @ 2021-11-25 22:37 曼路的个人博客 阅读(46) 评论(0) 推荐(0) 编辑