刷题笔记
皮学渣
学渣也想成为别人眼中的大佬*⸜( •ᴗ• )⸝*
展开
-
数组中出现次数超过一半的数字--水王数
数组中出现次数超过一半的数字题目讲解1.哈希表2.排序法3.相同增加,不同相减代码结果题目讲解1.哈希表这是我们应该最先想到的解题方法,我们将给的数组里的值当做哈希表中的键key,次数作为键值对应的结果。最后再判断哪个值大于数组的一半,就返回该键值key。空间复杂度O(n),时间复杂度O(n);2.排序法他给我们一个数组,有个数次数大于数组长度的一半,所以我们将数组进行排序,中位数必然是我们要找到的结果。排序就看你的排序算法怎么写了。3.相同增加,不同相减我们首先将数组的第一个值设置成原创 2021-12-02 19:47:30 · 1096 阅读 · 0 评论 -
剑指offer---判断二叉树是否为镜像
剑指offer---判断二叉树是否为镜像题目代码画图理解题目代码#include <iostream>#include<queue>using namespace std;//构造二叉树结构struct TreeNode{ int val; TreeNode* left, * right;};//先序创建二叉树void Frist(TreeNode* pRoot){ int val; cin >> val;原创 2021-11-29 16:43:43 · 732 阅读 · 0 评论 -
牛客 买卖股票的最好时机 动态规划
牛客 买卖股票的最好时机 动态规划题目描述动态规划代码我自己写的题目描述描述假设你有一个数组,其中第 i 个元素是股票在第i天的价格。你可以买入一次股票和卖出一次股票(并非每天都可以买入或卖出一次,总共只能买入和卖出一次),问能获得的最大收益是多少。数据范围: 0 \le n \le 10000 , 0 \le val \le 100000≤n≤10000,0≤val≤10000要求:空间复杂度 O(1)O(1),时间复杂度 O(n)O(n)示例1输入:[1,4,2]返回值:3示例2输原创 2021-10-18 17:30:11 · 173 阅读 · 0 评论