一道某度的笔试算法题
题目:给定一个长度为n,由非零整数成的数组,求连续子数组乘积为负数的个数
example:
5
5 -3 3 -1 1
7
8
ChatGPT的答案,基本正确,有个地方多+1了
n = int(input())
arr = list(map(int, input().split()))
dp1, dp2 = [0] * (n+1), [0] * (n+1)
for i in range(1, n+1):
if arr[i-1] > 0:
dp1[i] = dp1[i-1] + 1
dp2[i] = dp2[i-1]
else:
dp2[i] = dp1[i-1] + 1
dp1[i] = dp2[i-1]
print(sum(dp1))
print(sum(dp2))
个性签名:时间会解决一切
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2020-03-07 面试题:两个栈模拟队列&&两个队列模拟栈
2020-03-07 TextBlob Quick Start
2020-03-07 链表基本操作题
2020-03-07 leetcode341 扁平化嵌套数组
2019-03-07 VGG16学习笔记
2019-03-07 CNN中卷积层的计算细节
2019-03-07 卷积网络中的通道(Channel)和特征图