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

完整教程:【数据结构】算法题

轻松函数/值(直接调用)

写法功能举例
INT_MAX、INT_MIN表示最大、最小的整数

int a=INT

_MAX;

max()、min()两者取大、取小x=max(a,b); y=min(a,b)l
swap();将a、b所存的值交换swap(a,b); swap(&a,&b);
abs();绝对值函数a=abs(i-j);

2025

(1)双重循环

应用两个嵌套的for循环遍历数组A的所有可能的(i,j)组合,其中0\leq i \leq j \leqn-1。对于每个i,遍历所有j\geqi,计算A[i]*A[j],并记录其中的最大值到res[i]中

void CalMulMax(int A[ ],int res[ ],int n){

for(int i=0;i<n;i++){ //遍历每个起始位置i

int maxMul = A[i]*A[j]; //初始化

for(int j=i;j<n;j++){ //遍历所有j>i

int currentMul = A[i]*A[j];

if(currentMul > maxMul){ //当前乘积更大,更新

maxMul = currentMul;

}

}

res[i] = maxMul; //将最大乘积存入res[i]

}

}

时间复杂度O(n^2):使用了两个嵌套的for循环

空间复杂度O(1):使用了常数级别的额外空间

(2)利用辅助数组B和C

预先计算并存储每个位置i到数组末尾n-1之间的最大值B[i]和最小值C[i]

对每个元素A[i]:

假设A[i]为非负数,则最大乘积为A[i]*B[i]

如果A[i]为负数,则最大的乘积为A[i]*C[i]

这样可以子啊一次遍历中预处理B和C,然后在另一次遍历中计算res数组

void CalMulMax(int A[ ],int res[ ],int n){

int B[n]; //B[i]表示A[i..n-1]中的最大值

int C[n]; //C[i]表示A[i..n-1]中的最小值

//从后向前遍历,填充B和C数组

B[n-1]=A[n-1];

C[n-1]=A[n-1];

for(int i=n-2;i>=0;i--){

B[i] = max(B[i+1],A[i]);

C[i] = min(C[i+1],A[i]);

}

//计算res数组,最大值只可能是A[i]*B[i]或A[i]*C[i]

for(int i=0;i<n;i++)

res[i] = max(A[i]*B[i],A[i]*C[i]);

}

时间复杂度O(n):应为预处理B和C数组各需一次线性遍历,计算res数组也只需一次线性遍历

空间复杂度O(n):需要额外的两个辅助数组B和C,每个大小为n

(3)使用辅助变量B和C

在(2)的基础上,只需用变量存最小值和最大值即可

void CalMulMax(int A[ ],int res[ ],int n){

int B; //表示A[1..n-1]中的最大值

int C; //表示A[1..n-1]中的最小值

B = A[n-1];

C = A[n-1];

res[n-1] = A[n-1]*A[n-1];

//计算res数组,最大值只可能是A[i]*B[i]或A[i]*C[i]

for(int i=n-2;i>=0;i++)

B = max(B,A[i]);

C = max(C,A[i]);

res[i] = max(A[i]*B,A[i]*C);

}

}

时间复杂度O(n)

空间复杂度O(1)

2024

2023

2022

2021

2020

2019

2018

http://www.jsqmd.com/news/69822/

相关文章:

  • 深度剖析!2025俄罗斯电商选品工具大盘点 - 栗子测评
  • 实用指南:Bash Shell脚本学习——唇读数据集验证脚本
  • 2025年口碑好的水性涂料/水性聚氨酯涂料优质厂商精选榜(口碑优) - 行业平台推荐
  • 2025浙江软膜天花厂家怎么选?这份实力厂商清单精准锁定 - 栗子测评
  • 2025义乌拉链头厂家哪家正规?合规厂商盘点 - 栗子测评
  • 2025年度全纸桶制造商TOP5权威推荐:看哪家全纸桶价格合 - myqiye
  • 2025年矿物干燥剂厂家综合实力排行榜:权威测评与采购指南 - 2025年11月品牌推荐榜
  • 从数据到洞察:2025 中国企业可采用的实时生成式 AI 工具盘点 - 品牌排行榜
  • 2025年靠谱的纯水加热器/在线纯水加热器厂家销量TOP榜(畅销榜) - 品牌宣传支持者
  • 合规先行:可满足中国数据隐私法规的生成式 AI 平台盘点 - 品牌排行榜
  • 制氮机生产厂家哪家好?2025制氮机厂家排名权威榜单 - 栗子测评
  • 2025杭州工商注册公司推荐:优质公司深度剖析 - 栗子测评
  • 2025年12月江苏徐州铝基中间合金品牌选购攻略 - 2025年11月品牌推荐榜
  • 十大品牌背后的技术角力:解码全球激光三维扫描仪市场格局 - 匠子网络
  • ncc 动态require 被webpack的require替换的一些解决方法
  • 代码生产力革命:开发团队常用的主流代码生成 AI 工具盘点 - 品牌排行榜
  • 2025年终盘点:西南地区优质叛逆青少年学校推荐指南 - 深度智识库
  • 2025年工业节能设备行业五强企业排行榜,丰华机械的创新产品 - 工业推荐榜
  • 2025年化学镍环保设备五大供应企业推荐,看哪家信誉好 - 工业品牌热点
  • 口碑好的高压电缆品牌2025推荐 - 2025年11月品牌推荐榜
  • 2025年江苏碳钢球批量定制十大专业厂家推荐,值得推荐的碳钢 - mypinpai
  • 2025年质量好的监控杆生产设备/路灯杆生产设备最新TOP厂家排名 - 行业平台推荐
  • 聚焦2025AI眼镜FPC厂家甄选:适配微型化,低功耗的优选 - 栗子测评
  • 2025年靠谱的湿法清洗设备纯水加热器厂家专业度排行(精选) - 行业平台推荐
  • 中山股权咨询公司到底靠不靠谱?2025专业推荐 - 栗子测评
  • 2025锡膏冷藏设备厂家推荐甄选,品质与适配性兼具 - 栗子测评
  • 2025年口碑好的杆生产设备/钢杆生产设备TOP实力厂家推荐榜 - 品牌宣传支持者
  • 2025锡膏存储设备厂家推荐:多样需求适配指南 - 栗子测评
  • 2025杭州代理记账公司推荐,优质公司实力深度剖析 - 栗子测评
  • 2025机器人FPC厂家实力榜:解锁核心供应商 - 栗子测评