当前位置: 首页 > wzjs >正文

java快速建站潍坊网站建设seo

java快速建站,潍坊网站建设seo,黄埔做网站的公,怎麽做网站题目链接 题意 给定一个数组 求任意一个子数组和的绝对值的最大值(子数组可以为空) 方法一 对于最大子段和、最小子段和分别动态规划 最后对abs取max 思路 dpmx[i]表示以nums[i]结尾的子段中最大子段和 dpmn[i]表示以nums[i]结尾的子段中最小子段和…

题目链接

题意

给定一个数组
求任意一个子数组和的绝对值的最大值(子数组可以为空)

方法一

对于最大子段和、最小子段和分别动态规划
最后对abs取max

思路

dpmx[i]表示以nums[i]结尾的子段中最大子段和
dpmn[i]表示以nums[i]结尾的子段中最小子段和

Code

#define pii pair<int,int>
#define ar2 array<int,2>
#define ar3 array<int,3>
#define ar4 array<int,4>
#define endl '\n'
void cmax(int &a,int b){a=max(a,b);};
void cmin(int &a,int b){a=min(a,b);};
const int N=2e5+10,MOD=1e9+7,INF=0x3f3f3f3f;const long long LINF=LLONG_MAX;const double eps=1e-6;
int a[N];class Solution {
public:int maxAbsoluteSum(vector<int>& nums) {int n=nums.size();vector<int>dpmx(n),dpmn(n);int ans=0;dpmx[0]=nums[0];for(int i=1;i<n;i++){dpmx[i]=max(dpmx[i-1],0)+nums[i];cmax(ans,dpmx[i]);}dpmn[0]=nums[0];cmax(ans,abs(dpmn[0]));for(int i=1;i<n;i++){dpmn[i]=min(dpmn[i-1],0)+nums[i];cmax(ans,abs(dpmn[i]));}return ans;}
};

实现细节

注意记得ans要跟dpmn的第一个元素取max

空间优化版

#define pii pair<int,int>
#define ar2 array<int,2>
#define ar3 array<int,3>
#define ar4 array<int,4>
#define endl '\n'
void cmax(int &a,int b){a=max(a,b);};
void cmin(int &a,int b){a=min(a,b);};
const int N=2e5+10,MOD=1e9+7,INF=0x3f3f3f3f;const long long LINF=LLONG_MAX;const double eps=1e-6;
int a[N];class Solution {
public:int maxAbsoluteSum(vector<int>& nums) {int n=nums.size();int ans=abs(nums[0]);int f0=nums[0];for(int i=1;i<n;i++){int nf=max(f0,0)+nums[i];cmax(ans,nf);f0=nf;}f0=nums[0];for(int i=1;i<n;i++){int nf=min(f0,0)+nums[i];cmax(ans,abs(nf));f0=nf;}return ans;}
};

方法二

前缀和 遍历尝试以[1,n-1]每个元素作为子数组结尾的情况 对n个sum取max

思路

对于每个点作为结尾 考虑前面的子段和[0,j]最小或者最大
这样[j+1,i]的子段和就是[0,i]中所有子数组和最大或者最小的
然后对abs取max


这里使用set维护前面的子段和 也可以开一个大根堆和一个小根堆

Code

class Solution {
public:int maxAbsoluteSum(vector<int>& nums) {int n=nums.size();set<int>st;int sum=0,ans=0;st.emplace(0);for(int i=0;i<n;i++){sum+=nums[i];ans=max({ans,abs(sum-*st.begin()),abs(sum-*st.rbegin())});st.emplace(sum);}return ans;}
};
http://www.dtcms.com/wzjs/207338.html

相关文章:

  • 黄骅港引航站郑州seo优化推广
  • 洛阳网站设计公司今日世界杯比分预测最新
  • 西部数码成品网站后台app推广平台网站
  • 网站建设济南云畅网络深圳seo优化公司哪家好
  • 汕头网站设计制作公司百度关键词搜索推广
  • 自己做qq头像的网站项目优化seo
  • 做网站怎么把背景变成纯色企业推广方式
  • 河南网站优化怎么免费创建网站
  • 汕头公司做网站专业seo培训学校
  • 自己做的网站有排名吗站长统计网站统计
  • 销售网站制作电话品牌推广和营销推广
  • 宁阳网站建设价格刚刚传来最新消息
  • 做网站的背景图片格式大小微信搜一搜排名优化
  • 甜品售卖网站网页设计电商培训心得体会
  • 自己做的网站怎么设置关键词百度题库
  • 高端企业网站建设费用网页设计与制作项目教程
  • 上海网站建设微信开发百度seo通科
  • 建设银行网站苹果电脑怎样在百度上宣传自己的产品
  • wordpress istax深圳seo优化公司
  • 手机微网站开发的目的和意义网站流量查询平台
  • 怎么样做一个网站seo网络培训机构
  • 网站建设方案 pptseo技术培训中心
  • 做地方旅游网站广东东莞最新情况
  • jsp简述网站开发流程无锡百度快速优化排名
  • 重庆网站开发公宣传软文怎么写
  • 广西商城网站建设线上推广渠道主要有哪些
  • wordpress 微信发布文章营口seo
  • 沂水建设局网站杭州seo公司哪家好
  • 专门做狗猫配套网站有什么意思网页设计个人网站
  • 已经备案的网站新增ip怎么做哈尔滨网络seo公司