leetcode-163周赛-1262-可被3整除的最大和
题目描述:


方法一:动态规划 O(N)
class Solution:
def maxSumDivThree(self, nums: List[int]) -> int:
dp = [0, -1,-1]
for n in nums:
tmp = dp[:]
for i in range(3):
if dp[i] != -1:
tmp[(i+n)%3] = max(tmp[(i+n)%3], dp[i]+n)
dp = tmp
return dp[0]
方法二:暴力 O(nlogn)
class Solution:
def maxSumDivThree(self, nums: List[int]) -> int:
n1, n2 = [], []
ans = 0
for num in nums:
if num % 3 == 0:
ans += num
elif num % 3 == 1:
n1.append(num)
ans += num
else:
n2.append(num)
ans += num
n1.sort(reverse=True)
n2.sort(reverse=True) if len(n1) % 3 == len(n2) % 3:
return ans if len(n1) % 3 > len(n2) % 3:
n1, n2 = n2, n1 if len(n1) % 3 == 0 and len(n2) % 3 == 1:
if not n1: return ans - n2[-1]
return ans - min(n2[-1], n1[-1] + n1[-2])
if len(n1) % 3 == 0 and len(n2) % 3 == 2:
if not n1: return ans - n2[-1] - n2[-2]
return ans - min(n1[-1], n2[-1] + n2[-2])
if len(n1) % 3 == 1 and len(n2) % 3 == 2:
if len(n1) == 1: return ans - n2[-1]
return ans - min(n2[-1], n1[-1] + n1[-2])
leetcode-163周赛-1262-可被3整除的最大和的更多相关文章
- Leetcode 1262. 可被三整除的最大和
题目:给你一个整数数组 nums,请你找出并返回能被三整除的元素最大和. 示例 1: 输入:nums = [3,6,5,1,8] 输出:18 解释:选出数字 3, 6, 1 和 8,它们的和是 18( ...
- LeetCode 5365. 可被三整除的最大和 Greatest Sum Divisible by Three
地址 https://www.acwing.com/solution/leetcode/content/6340/ 题目描述给你一个整数数组 nums,请你找出并返回能被三整除的元素最大和. 示例 : ...
- LeetCode 163. Missing Ranges (缺失的区间)$
Given a sorted integer array where the range of elements are in the inclusive range [lower, upper], ...
- Leetcode 1013. 总持续时间可被 60 整除的歌曲
1013. 总持续时间可被 60 整除的歌曲 显示英文描述 我的提交返回竞赛 用户通过次数450 用户尝试次数595 通过次数456 提交次数1236 题目难度Easy 在歌曲列表中,第 i 首 ...
- [leetcode]163. Missing Ranges缺失范围
Given a sorted integer array nums, where the range of elements are in the inclusive range [lower, up ...
- [LeetCode] 163. Missing Ranges 缺失区间
Given a sorted integer array nums, where the range of elements are in the inclusive range [lower, up ...
- LeetCode双周赛#35
1589. 所有排列中的最大和 #差分 #贪心 题目链接 题意 给定整数数组nums,以及查询数组requests,其中requests[i] = [starti, endi] .第i个查询求 num ...
- 【LeetCode】974. 和可被 K 整除的子数组
974. 和可被 K 整除的子数组 知识点:数组:前缀和: 题目描述 给定一个整数数组 A,返回其中元素之和可被 K 整除的(连续.非空)子数组的数目. 示例 输入:A = [4,5,0,-2,-3, ...
- ✡ leetcode 163. Missing Ranges 找出缺失范围 --------- java
Given a sorted integer array where the range of elements are in the inclusive range [lower, upper], ...
- [LeetCode#163] Missing Ranges
Problem: Given a sorted integer array where the range of elements are [lower, upper] inclusive, retu ...
随机推荐
- mysql 存储引擎介绍2
了解MYSQL的都知道,在MYSQL中建立任何一张数据表,在其数据目录对应的数据库目录下都有对应表的.frm文件,.frm文件是用来保存每个数据表的元数据(meta)信息,包括表结构的定义等,.frm ...
- ruby之基础语法
ruby语法之哈希 =>相当于python的字典 ruby语法之数组 =>相当于python的列表 举例: gitaly= Hash.new #建立新Hash类型 gitaly['firs ...
- docker 数据持久化
confluence #!/bin/bash docker run \ --name confluence \ --volume "$PWD/data/opt":/opt \ -- ...
- security 页面测试
<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content=& ...
- 2019牛客多校第五场H - subsequence 2 拓扑
H - subsequence 2 题意 要你使用前\(m\)个小写字母构造一个长度为\(n\)的字符串 有\(m*(m-1)/2\)个限制条件: \(c_{1} .c_{2}. len\):表示除去 ...
- 77 geometry process
0 引言 记录几何方面的一些处理技术. 1 任意多边形面积计算:包含凸多边形和凹多边形 转载了JustDoIT https://www.cnblogs.com/TenosDoIt/p/4047211. ...
- ASP.NET MVC 分页之HtmlHelper
using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptograph ...
- 探索Redis设计与实现8:连接底层与表面的数据结构robj
本文转自互联网 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial ...
- MySQl 截取函数 left(),right(),substring(),substring_index() 的用法
1. 字符串截取:left(str, length) mysql> select left('sqlstudy.com', 3); +-------------------------+ | l ...
- Jmeter 5.1参数化csv引入文件
Jmeter 5.1参数化csv引入文件 1.引用外部参数文件.新建json.txt文本输入需要的数据,我写了两条数据. 2.添加CSV数据文件设置,输入文件名.变量名.是否读取首行 报文中引用参数, ...