被三整除

LeetCode1262:可被三整除的最大和(动态规划) 1262. 可被三整除的最大和 给你一个整数数组 nums,请你找出并返回能被三整除的元素最大和。 /** * 可被三整除的最大和:动态规划 * dp[i][0]表示nums[0...i]模三余零的最大和 * dp[i][1]表示nums[0...i]模三余一的最大和 * dp[i][2]表示nums[0...i]模三余二的最大和 * 零状态:当前数字最大和模三余零 * 一状态:当前数字最大和模三余一 * 二状态:当前数字最大和模三 阅读详情

这个题暂时可以归为数学归纳法




方法一:

这里可以用到一个数学课学过的性质。如果a+b+c的值可以被3整除。那么abc组成的数也能够被3整除。


#include<stdio.h>
#define maxlen 1007
char road[maxlen];
int main() {
    int t, i;
    scanf("%d", &t);
    for (i = 0; i < t; ++i) {
        int len, count = 0;
        scanf("%d", &len);
        scanf("%s", road);
        char *p;
        for (p = road; p < road + len; ++p) {
            if (*p == '.') {
                p[1] = p[2] = 'X';
                count++;
            }
        }
        printf("%d\n", count);
    }
    return 0;

方法二:

写出来当插入i以后的规律:
i = 1 ----> 1
i = 2 ----> 0
i = 3 ----> 0
i = 4 ----> 1
i = 5 ----> 0
i = 6 ----> 0
i = 7 ----> 1
………………
发现在区间[1,x]之间共计有 fuck(x) = (x+2)/3 个1,剩下的都满足要求
那么在区间[l, r]上的 r-l+1个 数字中,必须抠掉 fuck(r) - fuck(l-1) 个不满足要求的数字。
直接打印出来就可以了,O(1),不需要循环遍历。


#include<stdio.h>
#define fuck(x) (((x)+2)/3)
int main(){
    int l, r;
    while(~scanf("%d%d", &l, &r))
        printf("%d\n", r-l+1-fuck(r)+fuck(l-1));
    return 0;
}

LeetCode 5265. 可被三整除的最大和 LeetCode 5265. 可被三整除的最大和 题目 给你一个整数数组 nums,请你找出并返回能被三整除的元素最大和。 示例 1: 输入:nums = [3,6,5,1,8] 输出:18 解释:选出数字 3, 6, 1 和 8,它们的和是 18(可被 3 整除的最大和)。 示例 2: 输入:nums = [4] 输出:0 解释:4 不能被 3 整除,所以无法选出数字,返回 0。 示例 3: 输... 阅读详情

相关推荐

【C++贪心】1262. 可被三整除的最大和|1762

给你一个整数数组 nums,请你找出并返回能被三整除的元素 最大和。

闻缺陷则喜何志丹 1351

整除及其性质

整除的定义: 若整数a除以非零整数b,商为整数,且余数为零, 我们就说a能被b整除(或说b能整除a),即b∣a,读作“b整除a”或“a能被b整除”。a叫做b的倍数,b叫做a的约数(或因数)。 整除的基本性质及证明: ①若a|b,a|c,则a|(b±c)。 证明:因为a|b和a|c,所以∃q1,q2∈Z,使得b=q1*a  c=q2*a,可推出b±c=q1*a±q2*a=(q1±q2)*a。...

blaze003003的博客 1万+

AD56XXR系列DAC驱动设计:SPI接口、寄存器配置与嵌入式工程实践

数模转换器(DAC)是嵌入式系统实现高精度模拟控制的核心器件,其性能取决于通信协议可靠性、寄存器配置准确性及硬件协同设计能力。基于SPI总线的电压输出型DAC广泛应用于工业控制、光模块偏置、传感器校准等场景,需兼顾静态精度、动态响应与低功耗特性。AD56XXR系列作为典型集成内部基准与多通道同步更新能力的12/14/16位DAC,支持轨到轨输出与灵活掉电模式,为资源受限MCU提供可移植固件范式。本文围绕SPI时序约束、16位指令字解析、LDAC同步机制及精度补偿策略展开,覆盖从硬件连接、初始化流程到量产级可

weixin_33481022的博客 611

能被2、3、4、5、6、7、8、9、11、13等数整除的数的特征(含详细证明)

目录 整除的数学符号 “ | ” 整除的性质 1 整除的性质 2 能被2整除的数 能被3整除的数 能被4整除的数 能被5整除的数 能被6整除的数 能被7、11、13整除的数 能被8整除的数 能被9整除的数 能被10整除的数 能被11整除的数 能被13整除的数 能被17整除的数 能被23整除的数 能被25整除的数 能被125整除的数 整除的数学符号 “ | ” 数学符号“∣”的意义,如a∣b: '|'为整除符号,对于整数a,b(a≠0),若存在整数k,使...

m0_61409183的博客 1万+

保姆级教程:用Python spatialdata框架搞定10x Xenium空间转录组数据(从下机到高级分析)

本教程详细介绍了如何使用Python spatialdata框架处理10x Xenium空间转录组数据,从数据获取到高级分析的全流程。涵盖环境配置、数据读取、质量控制、降维聚类、细胞注释及空间共定位分析等关键步骤,特别适合生物信息学研究者快速掌握Xenium数据分析技术。

weixin_30300225的博客 484

STM32H750实战:用TIM+DMA驱动ADC/DAC实现音频回环(附CubeMX配置避坑指南)

本文详细介绍了在STM32H750上构建高保真、低延迟音频链路的实战方法。通过配置TIM定时器作为硬件节拍器,精准触发ADC采集与DAC播放,并利用DMA实现数据的自动搬运,全程无需CPU干预。文章重点剖析了CubeMX配置中的关键步骤与常见“坑点”,如ADC的Conversion Data Management模式选择、DMA的FIFO与Burst模式配置,以及STM32H7系列必须开启ADC全局中断等,并提供了完整的代码实现与调试验证指南。

1057

被3整除的数

输入描述: 输入包括两个整数l和r(1 <= l <= r <= 1e9), 表示要求解的区间两端。 输出描述: 输出一个整数, 表示区间内能被3整除的数字个数。 import java.util.Scanner; public class Main { public static void main(String[] args) { S...

qq_38452037的博客 1317

TCP协议中ARQ自动重传的三种实现方式对比(含SACK详解)

本文深入解析TCP协议中ARQ自动重传的三种实现方式,包括停止-等待、回退N步和选择重传协议,特别详细介绍了SACK机制的工作原理和优势。通过对比分析各协议的效率、复杂度和适用场景,为网络通信中的可靠性传输提供了实用的选型指南。

weixin_30776273的博客 462

一分钟看懂Python中的//, /, %的作用和区别

在python中,我们经常需要对数字进行一些基本的运算,比如加、减、乘、除等。为了实现这些运算,我们可以使用一些特殊的符号,称为算术运算符。例如,我们可以用+号表示加法,用-号表示减法,用*号表示乘法,用/号表示除法等。这些运算符都遵循一定的语法规则和优先级顺序,我们可以用它们来构建复杂的数学表达式。

xjt921122的博客 9698

webpack性能优化-optimization.splitChunks.chunks中的“all“、“async“和“initial“

最初,chunks(以及内部导入的模块)是通过内部 webpack 图谱中的父子关系关联的。CommonsChunkPlugin 曾被用来避免他们之间的重复依赖,但是不可能再做进一步的优化。 ——摘自 webpack 从 webpack v4 开始,移除了 CommonsChunkPlugin,取而代之的是 optimization.splitChunks。 而关于 optimization.splitChunks 中的chunks,webpack 官方文档却没有很好的进行举例解释,只说明了 async.

程序员秋风的博客 3137

K8s(二十二):k8s集群如何部署一个Spring Boot项目(依赖于MySQL和Redis外部服务)

🔴 K8s(二十二):k8s集群如何部署一个Spring Boot项目(依赖于MySQL和Redis外部服务)

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 2万+

整除的特征及解释

整除的特征及解释

cnds123的专栏 5553

Halcon那些事:Halcon非常核心的1个概念reduce_domain算子的理解和1个详细的使用示例

Reduce是减少的意思。并不是真的去裁剪图像,而是定义一个“感兴趣的区域(Region of Interest, ROI)”。后续的图像处理算子将只在这个定义的区域内有效,区域外的像素将被忽略。在一张白纸(完整图像)上放一张镂空的纸板(Domain)。我们后续的绘画(图像处理操作)只会透过镂空的部分影响到下面的白纸。镂空纸板之外的部分保持不变,也不会被处理。关键步骤:使用ReduceDomain,将图像的域限制为ROI区域,图像在原来图像基础上存在图像区域。

十多年IT经验,专注机器视觉,智能制造半导体行业 579

27.可被三整除的最大和(medium)

示例 1:输入:nums = [3,6,5,1,8]输出:18解释:选出数字 3, 6, 1 和 8,它们的和是 18(可被 3 整除的最大和)。示例 3:输入:nums = [1,2,3,4,4]输出:12解释:选出数字 1, 3, 4 以及 4,它们的和是 12(可被 3 整除的最大和)。解释:选出数字 3, 6, 1 和 8,它们的和是 18(可被 3 整除的最大和)。解释:选出数字 1, 3, 4 以及 4,它们的和是 12(可被 3 整除的最大和)。输入:nums = [1,2,3,4,4]​。

doting__的博客 992

android 14.0 去掉usb授权提示框 默认给予权限

在14.0的系统rom产品开发中,在进行iot关于插入usb设备的开发过程中,在插入usb设备时会弹出usb授权提示框,也带来一些不便, 这个需要默认授予USB权限,插拔usb都不弹出usb弹窗所以这要从usb授权相关管理页默认给与usb权限,接下来分析下 相关的实现功能流程

安卓兼职framework和app工程师的博客 2263

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

1262. 可被三整除的最大和

解释:选出数字 1, 3, 4 以及 4,它们的和是 12(可被 3 整除的最大和)。解释:选出数字 3, 6, 1 和 8,它们的和是 18(可被 3 整除的最大和)。给你一个整数数组 nums,请你找出并返回能被三整除的元素最大和。解释:4 不能被 3 整除,所以无法选出数字,返回 0。输入:nums = [3,6,5,1,8]输入:nums = [1,2,3,4,4]输入:nums = [4]

kangbin825的专栏 932

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

每日一练:贪心-可被三整除的最大和

虚拟位可以认为是空序列,那么和就是0,0%3==0,故dp[0][0]初始化为0,另外两个位置初始化为无穷小,表示不存在这样的序列,无穷小也能防止它+nums[i]后被选中。(1)若nums[i]%3==0,那么 i 的零状态可以由 i-1 的零状态+nums[i]得到。(2)若nums[i]%3==1,那么 i 的零状态可以由 i-1 的二状态+nums[i]得到。(3)若nums[i]%3==2,那么 i 的零状态可以由 i-1 的一状态+nums[i]得到。,请你找出并返回能被三整除的元素。

2303_78095330的博客 571

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

(C++/Python)LeetCode 1262 可被三整除的最大和

题目描述: 给你一个整数数组 nums,请你找出并返回能被三整除的元素最大和。 思路: 对于数组中的一个数nums[i],对三取余后可能是0,1,2 定义dp[0]表示数nums[i]之前的对3取余等于0的最大和 dp[1]表示数nums[i]之前的对3取余等于1的最大和 dp[2]表示数nums[i]之前的对3取余等于2的最大和 当nums[i]%30,则dp[0],dp[1],dp[2]都加上这个数,他们的余数不变 当nums[i]%31,dp[0]=max(dp[0],dp[2]+nums[i]) (

peachzy的博客 608

leetcode第1262题可被三整除的最大和

leetcode第1262题 可被三整除的最大和 题目 可被三整除的最大和 给你一个整数数组 nums,请你找出并返回能被三整除的元素最大和。 思路 每个数只有选和不选两种状态,那么根据什么转移呢,因根据当前数模3之后3的余数来进行转移。 dp[i][0]=到i为止被三整除的最大和 dp[i][1]=到i为止除三余1的最大和 dp[i][2]=到i为止除三余2的最大和 当nums[i-1]%3==0时,加入当前的数字不会对除以三的结果造成影响 dp[i][0]=max(dp[i-1][0],dp

timoraty的博客 282

力扣 | 1262. 可被三整除的最大和

引用的地方还要在理解一遍,还是有问题。

ttxiaoxiaobai的博客 239

可被三整除的最大和—leetcode1262

给你一个整数数组nums,请你找出并返回能被三整除的元素最大和。 示例 1: 输入:nums = [3,6,5,1,8] 输出:18 解释:选出数字 3, 6, 1 和 8,它们的和是 18(可被 3 整除的最大和)。 示例 2: 输入:nums = [4] 输出:0 解释:4 不能被 3 整除,所以无法选出数字,返回 0。 示例 3: 输入:nums = [1,2,3,4,4] 输出:12 解释:选出数字 1, 3, 4 以及 4,它们的和是 12(可被 3 整除的最大和)。 ..

独行侠 2359

​LeetCode解法汇总1262. 可被三整除的最大和

选出数字 1, 3, 4 以及 4,它们的和是 12(可被 3 整除的最大和)。选出数字 3, 6, 1 和 8,它们的和是 18(可被 3 整除的最大和)。4 不能被 3 整除,所以无法选出数字,返回 0。,请你找出并返回能被三整除的元素最大和。

分享+记录 382

[leetcode][1262. 可被三整除的最大和]

1262. 可被三整除的最大和 难度中等81 给你一个整数数组nums,请你找出并返回能被三整除的元素最大和。 示例 1: 输入:nums = [3,6,5,1,8] 输出:18 解释:选出数字 3, 6, 1 和 8,它们的和是 18(可被 3 整除的最大和)。 示例 2: 输入:nums = [4] 输出:0 解释:4 不能被 3 整除,所以无法选出数字,返回 0。 示例 3: 输入:nums = [1,2,3,4,4] 输出:12 解释:选出数字 1, 3, 4 以及 ..

Linger0519的博客 410

可被三整除的最大和

可被三整除的最大和 给你一个整数数组 nums,请你找出并返回能被三整除的元素最大和。 示例 1: 输入:nums = [3,6,5,1,8]输出:18解释:选出数字 3, 6, 1 和 8,它们的和是 18(可被 3 整除的最大和) 示例 2: 输入:nums = [4]输出:0解释:4 不能被 3 整除,所以无法选出数字,返回 0。 示例 3: 输入:nums = [1,2,3,4,...

꒰๑˘ᴗ˘๑꒱ 240

LeetCode1262 可被三整除的最大和(动态规划)

给你一个整数数组nums,请你找出并返回能被三整除的元素最大和。 示例 1: 输入:nums = [3,6,5,1,8] 输出:18 解释:选出数字 3, 6, 1 和 8,它们的和是 18(可被 3 整除的最大和)。 示例 2: 输入:nums = [4] 输出:0 解释:4 不能被 3 整除,所以无法选出数字,返回 0。 示例 3: 输入:nums = [1,2,3,4,4] 输出:12 解释:选出数字 1, 3, 4 以及 4,它们的和是 12(可被 3 整除的最大和)。 思路:动态规.

多看多听多总结 421
上一篇: 网易笔试安置路灯
下一篇: 结构体
runner668
博客等级 码龄11年 161粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值