当前位置: 首页 > 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.zskr.cn/news/80380.html

相关文章:

  • 深度剖析!2025俄罗斯电商选品工具大盘点 - 栗子测评
  • 实用指南:Bash Shell脚本学习——唇读数据集验证脚本
  • 2025年度全纸桶制造商TOP5权威推荐:看哪家全纸桶价格合 - myqiye
  • 制氮机生产厂家哪家好?2025制氮机厂家排名权威榜单 - 栗子测评
  • 2025年12月江苏徐州铝基中间合金品牌选购攻略 - 2025年11月品牌推荐榜
  • 2025年工业节能设备行业五强企业排行榜,丰华机械的创新产品 - 工业推荐榜
  • 口碑好的高压电缆品牌2025推荐 - 2025年11月品牌推荐榜
  • 聚焦2025AI眼镜FPC厂家甄选:适配微型化,低功耗的优选 - 栗子测评
  • 2025年靠谱的湿法清洗设备纯水加热器厂家专业度排行(精选) - 行业平台推荐
  • 中山股权咨询公司到底靠不靠谱?2025专业推荐 - 栗子测评
  • 2025杭州代理记账公司推荐,优质公司实力深度剖析 - 栗子测评
  • 2025机器人FPC厂家实力榜:解锁核心供应商 - 栗子测评
  • 航空障碍灯哪个厂家质量好?2025优质厂家实力比拼 - 栗子测评
  • 2025年口碑好的灯杆焊接合缝/灯杆焊接生产线信誉优质供应榜(可靠推荐) - 品牌宣传支持者
  • 2025年质量好的灯杆焊接激光跟踪/路灯杆焊接厂家最新TOP实力排行 - 行业平台推荐
  • 2025年评价高的防草布最新TOP厂家排名 - 行业平台推荐
  • 有成功案例和典型应用场景开放自动化平台有哪些 - 品牌排行榜
  • 2025年热门的物品进口报关用户好评榜 - 行业平台推荐
  • 2025年评价高的高压辊磨机破碎机优质厂商精选榜(口碑优) - 行业平台推荐
  • 东方博宜OJ 2172:树的直径 ← 树形DP + 无权边
  • 2025年质量好的进口报关权威榜 - 行业平台推荐
  • 2025FPC供应商推荐指南:这份清单帮你锁定靠谱合作伙伴 - 栗子测评
  • 交通便利的昆山墓地有哪家?周边陵园选择参考 - 品牌排行榜
  • ai论文软件推荐:提升写作效率的实用工具盘点 - 品牌排行榜
  • 制氮机哪家好?2025国内优质制氮机公司推荐与盘点 - 栗子测评
  • 2025数控加工中心机床厂家排名:多元优势与实力展现 - 栗子测评
  • ai论文网站推荐:高效工具助力学术创作 - 品牌排行榜
  • 2025铝合金重力铸造厂家哪家好?温州铝合金铸造厂实力比拼 - 栗子测评
  • 有智能功能的家用咖啡机品牌推荐:提升居家咖啡体验 - 品牌排行榜
  • 2025有实力的铝铸造厂家推荐:温州优质的铝铸造厂解析 - 栗子测评