LeetCode
文章平均质量分 63
Xin_Hack
Code for our better future
展开
-
LeetCode 118.杨辉三角
原题链接如下:118. 杨辉三角给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例 1:输入: numRows = 5输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]示例 2:输入: numRows = 1输出: [[1]]提示:1 <= numRows <= 30题解1:vector<vector<int>> ans(m原创 2022-03-06 11:14:58 · 279 阅读 · 0 评论 -
LeetCode 566.重塑矩阵
原题链接如下:566. 重塑矩阵在 MATLAB 中,有一个非常有用的函数 reshape ,它可以将一个 m x n 矩阵重塑为另一个大小不同(r x c)的新矩阵,但保留其原始数据。给你一个由二维数组 mat 表示的 m x n 矩阵,以及两个正整数 r 和 c ,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的 行遍历顺序 填充。如果具有给定参数的 reshape 操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。示例 1:**输入:**mat原创 2022-03-06 10:46:02 · 76 阅读 · 0 评论 -
LeetCode 121.买卖股票的最佳时机
原题链接如下:121. 买卖股票的最佳时机给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例 1:输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 =原创 2022-03-02 21:45:52 · 59 阅读 · 0 评论 -
LeetCode 350. 两个数组的交集 II
原题链接如下:350. 两个数组的交集 II题解1(哈希表):一看到重复元素,就想到了去重万能的哈希表,由于本题还有一个取较少次数的要求,故我们还需要一个属性来记录出现次数,因此我们采用拥有键值对的hashmap,用数字的值当成key,数字出现次数当成value。先将nums1数组中的元素添加到哈希表中,然后再遍历nums2,若之前的哈希表中已经含有该元素,则该数字添加进result的数组中,同时哈希表中该数字的value值-1,若某一数字的value值已经为0之后,即使哈希表中出现了这个数字,我们也原创 2022-03-02 21:03:31 · 683 阅读 · 0 评论 -
LeetCode 88.合并两个有序数组
原题链接如下:88. 合并两个有序数组解法1(先合并后排序):class Solution {public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { //先将nums2合并在nums1后面 for(int i =m,j =0;i<m+n,j<n;i++,j++ ){ nums1[i] = nu原创 2022-03-01 20:59:55 · 709 阅读 · 0 评论 -
LeetCode 53.最大子数组和
这道题是典型的动态规划和分治法问题的考察,我初来乍到,压根不知道动态规划是啥当时,分治法最后都没咋看懂,准备以后回过头来好好再学学。动态规划借助大佬们的题解我基本上已经看懂原题链接如下:53. 最大子数组和解法0(无效解法,超时了,暴力解法):class Solution {public: int maxSubArray(vector<int>& nums) { //本次采用暴力解题 int sum = 0; int r原创 2022-03-01 20:47:16 · 266 阅读 · 0 评论 -
LeetCode 217.存在重复元素
从2022.2.28开始,本人开始LeetCode的刷题之旅,首先用的刷题指南是数据结构的14天的简易刷题计划,博客仅供本人记录刷题之旅。原题链接如下:217. 存在重复元素本人解法如下:题解1(采用c++中set):class Solution {public: bool containsDuplicate(vector<int>& nums) { //首先用哈希表的办法 unordered_set<int> s;原创 2022-03-01 17:03:54 · 702 阅读 · 0 评论 -
LeetCode 1.两数之和
原题链接如下:1.两数之和解题1(暴力枚举):class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { //本次采用暴力枚举的办法 for(int i=0;i<nums.size();i++){ for(int j=i+1;j<nums.size();j++){ if(原创 2022-03-01 20:52:11 · 346 阅读 · 0 评论