当前位置: 首页 > 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
  • 宜昌为何能有一批世界级农业:繁育虫草养殖鲟鱼,柑橘魔芋深耕大健康
  • 兰斯莫斯想在雅典卫城拍《拯救地球》,希腊官方:价值观不符
  • 外媒:特朗普称或将“大幅降低”对中国的关税
  • 裁员15%、撤销132个机构,美国务院将全面重组
  • 我们的免疫系统,是世界上最好的“医生”
  • 三江购物:因自身商业需要,第二大股东阿里泽泰拟减持不超3%公司股份