![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
leetcode
Drew_Lee
黑夜写手
展开
-
深夜学算法——初识动规(1)
动态规划:当下编程面试中的热门话题。如果面试题要求一个问题的最优解,一般为最大值或者最小值,而且该问题能够分解成若干个子问题,并且子问题之间还有重叠的更小的子问题,就可以考虑用动态规划来解决。一般我们从以下四个角度考虑:1:状态定义(定义的状态一定要形成地推关系);2:状态间的转移方程定义;(需要能一步的出的,多步推出的不能算)3:状态初始化;(要看状态转移方程中到底需要用到几个量)4:返回结果---------------------------------------------------原创 2021-06-10 23:59:20 · 207 阅读 · 3 评论 -
剑指offer03:数组中的重复数字
题目描述:找出数组中重复的数字在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3限制:2 <= n <= 100000接近双百代码,简单易懂:class Solution {public: int findRepeatNumber(vector<int&g原创 2021-01-28 21:56:44 · 106 阅读 · 0 评论 -
剑指offer05:替换空格
题目描述:请实现一个函数,把字符串 s 中的每个空格替换成"%20"示例 1:输入:s = “We are happy.”输出:“We%20are%20happy.”限制:0 <= s 的长度 <= 10000解题思路:双指针遍历替换法class Solution {public: string replaceSpace(string s) { int count = 0; int len = s.size(); for(c原创 2021-01-28 21:59:43 · 893 阅读 · 3 评论 -
剑指offer10—青蛙跳台阶
题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21示例 3:输入:n = 0输出:1提示:0 <= n <= 100解题思路你写出来几级台阶并且列出对应的跳法数量之后:你就会发现这就是简单的一个斐波那契数列,所以就直接看代码:class原创 2021-01-30 21:32:12 · 122 阅读 · 0 评论 -
剑指offer15—二进制中1的个数
题目描述:请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 ‘1’。示例 2:输入:00000000000000000000000010000000输出:1解释:输入的二进制串原创 2021-01-30 22:05:01 · 123 阅读 · 1 评论 -
主要元素(leetcode面试题17.10)之最通俗易懂解法+解析
题目描述: 数组中占比超过一半的元素称之为主要元素。给定一个整数数组,找到它的主要元素。若没有,返回-1。示例 1:输入:[1,2,5,9,5,9,5,5,5]输出:5示例 2:输入:[3,2]输出:-1示例 3:输入:[2,2,1,1,1,2,2]输出:2说明:你有办法在时间复杂度为 O(N),空间复杂度为 O(1) 内完成吗?做题经验:我觉得这道题怎么解还是根据题目描述的意思码出每一行代码,首先我们调用sort接口对该数组进行排序,排序之后,不管这个数组里面是否存在主要元素,原创 2021-03-07 18:10:49 · 207 阅读 · 0 评论 -
大厂面试级别题目:leetcode-48:旋转图像(旋转数组)
题目描述:给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[[7,4,1],[8,5,2],[9,6,3]]示例 2:输入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]输出:[[15,13,原创 2021-03-09 20:37:50 · 185 阅读 · 0 评论 -
PTA试题
本题要求实现一个函数,对给定的正整数N,打印从1到N的全部正整数。void PrintN ( int N );其中N是用户传入的参数。该函数必须将从1到N的全部正整数顺序打印出来,每个数字占1行。裁判测试程序样例:#include <stdio.h>void PrintN ( int N );int main (){int N;scanf("%d", &N);PrintN( N );return 0;}void PrintN(int N){ int i;原创 2020-09-25 00:40:40 · 579 阅读 · 0 评论