有难度
文章平均质量分 72
张荣华_csdn
这个作者很懒,什么都没留下…
展开
-
数组分割
#include <iostream> #include <algorithm> using namespace std;#define MAXN 101 #define MAXSUM 100000 int A[MAXN];bool dp[MAXN][MAXSUM];// 题目可转换为从2n个数中选出n个数,其和尽量接近于给定值sum/2 int main(){ ...原创 2018-06-25 00:39:09 · 547 阅读 · 0 评论 -
Recover Binary Search Tree
Two elements of a binary search tree (BST) are swapped by mistake.Recover the tree without changing its structure.Example 1:Input: [1,3,null,null,2] 1 / 3 \ 2Output: [3,1,null,null,2] ...原创 2018-06-22 00:23:09 · 135 阅读 · 0 评论 -
KMP算法
#include<iostream>#include<string>using namespace std;void cal_next(const char *str, int *next, int len){ next[0] = -1;//next[0]初始化为-1,-1表示不存在相同的最大前缀和最大后缀 int k = -1;//k初始化为-1 for (int q ...原创 2018-06-27 00:36:12 · 217 阅读 · 0 评论 -
Best Time to Buy and Sell Stock III
Say you have an array for which the ith element is the price of a given stock on day i.Design an algorithm to find the maximum profit. You may complete at most two transactions.Note: You may not engag...原创 2018-06-28 17:23:12 · 242 阅读 · 0 评论 -
321.拼接最大数
给定长度分别为 m 和 n 的两个数组,其元素由 0-9 构成,表示两个自然数各位上的数字。现在从这两个数组中选出 k (k <= m + n) 个数字拼接成一个新的数,要求从同一个数组中取出的数字保持其在原数组中的相对顺序。求满足该条件的最大数。结果返回一个表示该最大数的长度为 k 的数组。说明: 请尽可能地优化你算法的时间和空间复杂度。示例 1:输入:nums1 = ...原创 2018-11-07 12:28:06 · 992 阅读 · 0 评论 -
327.区间和的个数
给定一个整数数组 nums,返回区间和在 [lower, upper] 之间的个数,包含 lower 和 upper。区间和 S(i, j) 表示在 nums 中,位置从 i 到 j 的元素之和,包含 i 和 j (i ≤ j)。说明:最直观的算法复杂度是 O(n2) ,请在此基础上优化你的算法。示例:输入: nums = [-2,5,-1], lower = -2, upper...原创 2018-11-08 17:15:53 · 1095 阅读 · 0 评论