
C++
X1579983102
这个作者很懒,什么都没留下…
展开
-
遍历路径与动态规划
class Solution {public: int move(vector<vector<int>>& o) { int length = o.size(), width = o[0].size(); if(length==0|| width==0||o[0][0] == 1) return 0; vector<vector<int>> temp(length + 1, vector&l..原创 2020-07-06 12:34:34 · 1704 阅读 · 0 评论 -
找到乘积最大的子数组
动态规划:class Solution {public: int maxProduct(vector<int>& nums) { int len = nums.size(), ans = nums[0]; int prevMin = nums[0], prevMax = nums[0]; int temp1 = 0, temp2 = 0; for (int i = 1; i < len; i++) { temp1 = prevMin.原创 2020-06-23 21:05:01 · 250 阅读 · 0 评论 -
前缀和与哈希表
前缀和解法:class Solution {public: int subarraySum(vector<int>& nums, int k) { int count = 0; for (int i = 0; i < nums.size(); i++) { //实现从任意的num[i]加到[j] int sum = 0; for (int j = i; j>=0; j--) { .原创 2020-06-23 20:55:36 · 681 阅读 · 0 评论 -
异或运算符与寻找只出现一次的数字
异或运算符解法:class Solution {public: int singleNumber(vector<int>& nums) { int res=0; for(int i=0;i<nums.size();i++) res^=nums[i]; //^:异或运算符号 return res; }};原理:相同的数字两两相消,最后只有单身贵族活着另解:class Solution {.原创 2020-06-23 09:14:29 · 260 阅读 · 0 评论 -
二叉树的广度优先搜索
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: vector<vector<int>>.原创 2020-06-22 15:09:31 · 312 阅读 · 0 评论 -
递归二分法算x的n次方
递归二分法算x的n次方class Solution {public: double myPow(double x, long n) { if(x==-1){ if(n%2==0) return 1; else return -1; }else{ if(n==0||x==1) return 1; if(n==1) return x; if(n&l原创 2020-05-11 15:03:17 · 640 阅读 · 0 评论 -
栈的操作与栈中检索最小值算法
重点是getMin(),整块代码为此服务,其他的都能直接调用`class MinStack {public: stack<int>S; stack<int>Min; //记录每次入栈后变化的最小值 void push(int x) { S.push(x); if(Min.empty()||x<=Min.top())Min.push(x); } void pop() { if.原创 2020-06-22 14:59:36 · 219 阅读 · 0 评论