![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
Amazing life
在校学生,比较喜欢编程,日常打码记录遇到的问题
展开
-
leetcode刷题记录 -- 求根到叶子节点数字之和
题目描述如下:给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和。来源:力扣(LeetCode)思路:本题其实不难,首先明确一点,从根结点到叶子结点的路径只有一条,所以本题就转化为对该树的遍历了,那么我们就采用前序遍历,遍历该树,在此过程中计算sum即可;用一个vector保存每条路径的数字,最后对vector求和即可。class Soluti原创 2020-10-29 16:09:10 · 115 阅读 · 0 评论 -
LeetCode刷题记录 --独一无二的出现次数
题目描述如下:给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。思路:使用一个哈希表存储出现次数,再使用一个set存储出现次数的重复数,最后比较两者是否相等class Solution {public: bool uniqueOccurrences(vector<int>& arr) { unordered_map<int,int> m1;原创 2020-10-28 17:13:04 · 124 阅读 · 0 评论 -
leetcode刷题记录 --132模式
class Solution {public: bool find132pattern(vector<int>& nums) { if(nums.size()<3) return false; stack<int> sta; int third = INT_MIN; for( int i = nums.size()-1;i>=0;i--){ i原创 2020-10-22 15:34:27 · 123 阅读 · 0 评论 -
LeetCode刷题记录 --两个数组的交集【1】
题目即求两个数组交集,答案去重无排序献上代码:```cpp#include <unordered_set>class Solution {public: vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { unordered_set<int> result_set; unordered_set<原创 2020-10-19 20:08:35 · 83 阅读 · 0 评论 -
LeetCode刷题记录 --两个数组的交集
题目描述如下:给定两个数组,编写一个函数来计算它们的交集献上代码:class Solution {public: vector<int> intersect(vector<int>& nums1, vector<int>& nums2) { unordered_map<int, int> map1; vector<int> res; for(auto &i :原创 2020-10-19 19:59:59 · 169 阅读 · 0 评论 -
LeetCode刷题记录 --寻找比目标字母大的最小字母
题目描述如下:给你一个排序后的字符列表 letters ,列表中只包含小写英文字母。另给出一个目标字母 target,请你寻找在这一有序列表里比目标字母大的最小字母。在比较时,字母是依序循环出现的。举个例子:如果目标字母 target = ‘z’ 并且字符列表为 letters = [‘a’, ‘b’],则答案返回 ‘a’献上代码:class Solution {public: char nextGreatestLetter(vector<char>& letters原创 2020-10-18 23:40:38 · 222 阅读 · 0 评论 -
LeetCode刷题记录 --统计有序矩阵中的负数
题目描述如下:给你一个 m * n 的矩阵 grid,矩阵中的元素无论是按行还是按列,都以非递增顺序排列。请你统计并返回 grid 中 负数 的数目。先上代码// An highlighted block#include <iostream>#include <vector>using namespace std;vector<vector<int>> arr1 = {{4,3,2,-1},{3,2,1,-1},{1,1,-1,-2},{-1,原创 2020-10-18 17:31:50 · 138 阅读 · 0 评论 -
LeetCode刷题记录 --二分查找
原题描述如下:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。先上代码:class Solution {public: int search(vector<int>& nums, int target) { if(nums.size() == 0) return -1; int r = nums原创 2020-10-18 16:22:32 · 99 阅读 · 0 评论 -
LeetCode刷题记录 --路劲总和
话不多说,直接上代码:class solution {private: bool res = false;public: bool haspathsum(treenode *root, int sum) { if(!root) { return false; } preorder(root,sum); return res; } void preorder(t原创 2020-10-18 15:21:48 · 76 阅读 · 0 评论 -
LeetCode刷题记录 --数组拆分(1)
题目描述如下:给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/array-partition-i著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。思路:由于要把数组两两配对,且最小值相加总和最大。个人是这样理解的:可以把组成配对的两个数原创 2020-10-10 22:51:26 · 152 阅读 · 0 评论