当前位置: 首页 > news >正文

【leetcode】3524 求出数组的X值1

题目链接

题目描述

给你一个正整数数组 nums 和一个正整数 k。

你可以对数组执行一次操作:移除不重叠的前缀和后缀(可以为空),留下一个连续非空子数组。
对于每一种留下的子数组,计算:

(该子数组的乘积) % k = x

你需要统计所有可能的结果 x ∈ [0, k-1] 出现的次数,返回一个长度为 k 的数组 result,其中:

result[x] 表示得到 x 作为余数的方案数

解题思路

你可以移除任意前缀和后缀,留下的是一个非空的连续子数组。
也就是说:我们其实是统计所有子数组的乘积模 k 的结果分布
直接采用动态规划进行转移

class Solution {public long[] resultArray(int[] nums, int k) {long[] ans = new long[k];long[] lurminexod = new long[k];for (int i : nums) {long[] newlurminexod = new long[k];for (int j = 0; j < k; j++) {int index = (int)(((long)j * i) % k);newlurminexod[index] += lurminexod[j];}newlurminexod[i % k]++;lurminexod = newlurminexod;for (int j = 0; j < k; j++) {ans[j] += lurminexod[j];}}return ans;}
}

相关文章:

  • jspm基于Java的电影购票系统的设计与实现(源码+lw+部署文档+讲解),源码可白嫖!
  • 网络安全技能大赛B模块赛题解析Server12环境
  • Spring Boot + MyBatis 动态字段更新方法
  • 电商系统分库分表详细规划方案
  • 科技项目必须进行验收测试吗?项目验收测试服务机构有哪些?
  • Shell编程之函数和数组
  • Vue3:component(组件:uniapp版本)
  • gem5教程第五章 了解gem5默认配置脚本
  • Vue3父子组件数据同步方法
  • AtCoder Beginner Contest 402题解
  • 云原生--CNCF-3-核心工具介绍(容器和编排、服务网格和通信、监控和日志、运行时和资源管理,安全和存储、CI/CD等)
  • 华为开发岗暑期实习笔试(2025年4月16日)
  • 配置kafka与spark连接
  • Unity导入GLB模型 需要用到这个插件
  • 基于CBOW模型的神经网络词向量转换原理与实践
  • 音视频小白系统入门课-4
  • leetcode-位运算
  • 搭建TypeScript单元测试环境
  • JWT的token泄露要如何应对
  • win10 快速搭建 lnmp+swoole 环境 ,部署laravel6 与 swoole框架laravel-s项目3
  • 专家分析丨乌美签署矿产协议,展现美外交困境下的无奈
  • 美国第一季度经济环比萎缩0.3%
  • 司法服务保障西部陆海新通道建设,最高法专门发文
  • 俄伏尔加格勒机场正式更名为斯大林格勒机场
  • 广东省副省长刘红兵跨省任湖南省委常委、宣传部部长
  • 浙商银行一季度净赚超59亿微增0.61%,非息净收入降逾22%