LeetCode判断字符串是否循环-LeetCode:力扣编程题训练

时间:2024-07-20 23:35:31
【文件属性】:

文件名称:LeetCode判断字符串是否循环-LeetCode:力扣编程题训练

文件大小:4KB

文件格式:ZIP

更新时间:2024-07-20 23:35:31

系统开源

LeetCode判断字符串是否循环 LeetCode 力扣编程题训练 1-628 三个数的最大乘积 思路 最大乘积的可能情况 三个非负数相乘(最大的三个数) 两个非负数和一个负数(这种情况下数组只有这三个数) 一个非负数和两个负数(最小的两个和最大的数) 三个负数(数组都是负数,最大的三个数) 所以,只要求出两个可能的乘积,比较一下大小就行 题解 将数组排序,找到五个数num[size-1],num[size-2],num[size-3],num[1],num[0] 时间复杂度 - 排序的时间复杂度 空间复杂度 - O(1) 不用排序算法,直接遍历数组,找出最大的三个数和最小的两个数 时间复杂度 - O(n) 空间复杂度 - O(1) 1-2 两数相加 思路 和小时候做两数相加流程一致,维护一个进位int,每次从l1或l2取一个或l1和l2取两个数,和前一轮的进位相加,模10存入结果当前位,除10作为下一轮的进位,如果l1和l2都结束了且进位为0,不再创建新的结果位 优化 这里我将结果存入了新开辟的空间内,可以尝试优化直接将结果存在给的两个ListNode里,节省空间开销 2-5 最长


【文件预览】:
LeetCode-main
----1-2.cpp(966B)
----README.md(3KB)
----1-628.cpp(324B)
----2-5.cpp(5KB)
----3-3.cpp(2KB)

网友评论