自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 39.数组中出现次数最多

这道题可以使用两种方法计算:1.利用哈希表,将数据当作键值,将次数作为值存入哈希表中。// 哈希表unordered_map<int, int> res;int ans = 0, count = 0;int len = nums.size();for(auto &num : nums) { ++res[num]; if(res[num] > (len / 2)) { ans = num

2022-05-16 17:33:13 137 1

原创 29.顺时针打印矩阵

首先顺时针打印矩阵,需要通过图解来理解:上面是一个3 * 3 的矩阵,我们要将其按照顺时针打印,那么打印的结果就是 1 ➡ 2➡ 3 ➡ 4➡ 5➡ 6➡ 7➡ 8➡ 9我们可以通过模拟的方法来进行顺时针打印矩阵:1.求出矩阵的左右宽度、上下宽度、左右边线、上下边线这里求二维矩阵的左右宽度是 矩阵.size() 上下宽度是 矩阵[0].size()row为矩阵的宽,col为矩阵的高 那么这里的row其实记录的就是矩阵...

2022-05-16 16:44:25 1849 1

原创 21.调整数组顺序使奇数位于偶数前面

这道题可以使用两种方法,可以使用两个容器的暴力解法,同时还可以使用双指针的方法。1.两个容器的暴力方法:可以定义两个容器,遍历整个数组,将奇数放入一个容器中,将偶数放入一个容器中,然后将两个容器进行拼接,将偶数放入奇数的容器中。class Solution {public: vector<int> exchange(vector<int>& nums) { // 1、遍历数组 判断数组的奇数和偶数 // 2、奇数的数字放

2022-05-16 11:14:00 84

原创 15.二进制中1的个数

这道题主要利用了逻辑运算符中的与运算,因为要遍历字符串,因此还要用到左移运算符因为二进制中的数字与1做与运算的时候,只有1最后的结果是1,由此可以统计出1的个数左移运算符:二进制数字整体左移,高位舍去,低位补0右移运算符:二进制数字整体右移,高位补1,低位舍去class Solution {public: int hammingWeight(uint32_t n) { // 通过与运算判断1的个数 int count = 0; fo

2022-05-16 10:58:21 85

原创 11.青蛙跳台阶问题

该题目就是变形的斐波那契额数列但是该题目用另外一种解法,可以设置数组,将数组的大小设置微n+1的数组,将数字赋值,直接进行模拟即可,该种算法或许更好理解。class Solution {public: int numWays(int n) { if(n < 2) return 1; int F[n + 1]; F[0] = 1; F[1] = 1; int Mod = 1000000007; for

2022-05-16 10:47:13 98

原创 10.斐波那契额数列

可以利用动态规划(当数列公式存在递推关系的时候可以考虑动态规划),所谓的动态规划就是:刚开始的初始值是0,0,1,从右往左移动 r = p + qclass Solution {public: int fib(int n) { // 利用动态数组的原理进行斐波那契数列 // 不能使用递归 因为会超时 if(n < 2) return n; int MOD = 1000000007; .

2022-05-16 10:43:55 119

原创 05.替换空格

该题的难点是在替换的时候%20,符号加上数字并不能有效的直接替换,因此选择填充法。 这道题主要利用的是填充法,因为要在原来字符串的基础上插入空格,因此要设定一个新的字符串,在创建新的字符串的时候需要先求出原来字符串的长度,分别将字母和应该插入的符号和数字添加进字符串中。需要定义两个指针,一个指针指向原来的字符串,一个指针指向现在创建的新的字符串,需要从后往前遍历。class Solution {public: string replaceSpace(string s) { ..

2022-05-16 10:40:08 53

原创 03.数组中重复的数字

该题目主要利用了set容器,set容器中的second可以判断数字是否插入成功 其中set容器的second并没有()class Solution {public: int findRepeatNumber(vector<int>& nums) { set<int> s; int count = 0; for(int num : nums) { ...

2022-05-16 10:31:12 40 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除