leetcode
文章平均质量分 57
xutian_curry
这个作者很懒,什么都没留下…
展开
-
两个数组的交集
考察点:map的常见使用#include <set>#include <vector>#include <map>using namespace std;class Solution {public: vector<int> intersect(vector<int>& nums1, vector<int&...原创 2018-04-22 17:03:02 · 125 阅读 · 0 评论 -
leetcode 最大子序和
状态:dp[i]表示以第i个元素结尾的连续子数组的最大和状态转移方程:dp[i] = max( 0, dp[i-1] ) + nums[i];#include <vector>using namespace std;class Solution{public: int maxSubArray(vector<int>& nums) { ...原创 2018-05-26 20:42:08 · 343 阅读 · 0 评论 -
leetcode 使用最小花费爬楼梯
状态:dp[i]表示到达第i个阶梯需要的最小花费,小技巧是令cost[n] = 0 ,最后返回dp[n]即可状态转移方程:dp[i] = min( dp[i-2], dp[i-1] ) + cost[i];#include <vector>using namespace std;class Solution {public: int minCostClimbingStai...原创 2018-05-26 20:18:50 · 1731 阅读 · 1 评论 -
leetcode 存在重复元素 滑动窗口+set
#include <set>class Solution {public: bool containsNearbyDuplicate(vector<int>& nums, int k) { unordered_set<int> record; for( int i = 0; i < nums.s...原创 2018-04-24 14:49:33 · 174 阅读 · 0 评论 -
有效的数独
#include <set>#include <algorithm>#include <string>#include <string.h>using namespace std;class Solution{public: bool isValidSudoku(vector<vector<char>>&...原创 2018-04-24 11:02:19 · 107 阅读 · 0 评论 -
leetcode 四数之和
#include <set>#include <algorithm>using namespace std;class Solution{public: vector<vector<int>> fourSum(vector<int>& nums, int target) { if(nums...原创 2018-04-24 10:42:19 · 384 阅读 · 0 评论 -
leetcode 无重复字符的最长子串
注意边界#include <map>#include <queue>#include <set>#include <algorithm>#include <memory.h>using namespace std;class Solution {public: int lengthOfLongestSubstring...原创 2018-04-24 09:51:36 · 98 阅读 · 0 评论 -
回旋镖的数量
遍历每个i,把剩余点与i的距离做key放入map,value是具有相同距离的点的个数#include <map>#include <queue>#include <set>#include <algorithm>using namespace std;class Solution{public: int numberOfBoom...原创 2018-04-23 17:57:53 · 367 阅读 · 0 评论 -
leetcode 四数相加
把C和D的所有组合放入到查找表中#include <map>#include <queue>#include <set>#include <algorithm>using namespace std;class Solution {public: int fourSumCount(vector<int>& A,...原创 2018-04-23 17:23:05 · 297 阅读 · 0 评论 -
leetcode 三数之和
#include <map>#include <queue>#include <set>#include <algorithm>using namespace std;class Solution{public: vector<vector<int>> threeSum(vector<int>原创 2018-04-23 16:48:53 · 126 阅读 · 0 评论 -
leetcode 两数之和
key是数,value是索引,注意key需要重复,用multimap#include <map>#include <queue>using namespace std;class Solution {public: vector<int> twoSum(vector<int>& nums, int target) {...原创 2018-04-23 15:53:18 · 184 阅读 · 0 评论 -
leetcode 根据字符出现频率排序
#include <map>#include <queue>using namespace std;struct node { char c; int num; friend bool operator <(const node &a,const node &b) { return a.num &...原创 2018-04-23 15:35:02 · 409 阅读 · 0 评论 -
leetcode 同构字符串
#include <unordered_map>using namespace std;class Solution {public: bool isIsomorphic(string s, string t) { unordered_map<char,char> mymap; for(int i=0;i<s.size...原创 2018-04-23 15:00:54 · 335 阅读 · 0 评论 -
单词模式
#include <unordered_map>#include <iostream>#include <string>using namespace std;class Solution {public: bool wordPattern(string pattern, string str) { istrin...原创 2018-04-22 18:09:27 · 424 阅读 · 0 评论 -
快乐数
用一个unorderedmap 去存已经出现的数#include <unordered_set>using namespace std;class Solution {public: bool isHappy(int n) { unordered_set<int> s; while(s.find(n)==s.end()...原创 2018-04-22 17:34:04 · 331 阅读 · 0 评论 -
leetcode 乘积最大子序列
由于乘积时会负负得正,所以需要记录一个正的最大值和一个负的最小值。状态Posdp[i]:表示以第i个元素为结尾的子序列的最大乘积状态Negdp[i]: 表示第i个元素为结尾的子序列的最小乘积状态转移方程: Posdp[i] = max( nums[i], max( nums[i] * Posdp[i-1], nums[i] * Negdp[i-1] ) ); ...原创 2018-05-27 10:25:25 · 1296 阅读 · 0 评论