题目描述某个充电站,可提供个充电设备,每个充电设备均有对应的输出功率。任意个充电设备组合的输出功率总和,均构成 功率集合的个元系。功率集合的最优元系,表示最接近充电站最大输出功率的元系输入描述输入为3行:第1行为充电设备个数n第2行为每个充电设备的输出功率第3行为充电站最大输出功率输出描述功率集合的最优元系备注充电设备个数最优元素必须小于或等于充电站的最大输出功率用例用例1输入4 50 20 20
题目描述当前IT部门支撑了子公司颗粒化业务,该部门需要实现为子公司快速开租建站的能力,建站是指在一个全新的环境部署一套IT服务。每个站点开站会由一系列部署任务项构成,每个任务项部署完成时间都是固定和相等的,设为 1。部署任务项之间可能存在依赖,假如任务2依赖任务1,那么等任务1部署完,任务2才能部署。任务有多个依赖任务则需要等所有依赖任务都部署完该任务才能部署。没有依赖的任务可以并行部署,优秀的员
题目描述某农场主管理了一大片果园,表示不同果林的面积,单位: ,现在要为所有的果林施肥且必须在天之内完成,否则影响收成。小布是果林的工作人员,他每次选择一片果林进行施肥,且一片果林施肥完后当天不再进行施肥作业。 假设施肥机的能效为,单位: ,请问至少租赁能效 为多少的施肥机才能确保不影响收成? 如果无法完成施肥任务,则返回。输入描述第一行输入为和,表示中的元素个数,表示施肥任务必须在天内完成(包
题目描述给你一个整数 和数组,中的元素为连续整数,要求根据中的元素组装成新的数组 组装规则:中元素总和加起来等于中的元素可以从中重复选取中的元素最多只能有 1 个不在中,且比中的数字都要小(不能为负数)输入描述第一行输入是连续数组,采用空格分隔 第二行输入数字输出描述输出的是组装办法数量,int 类型备注用例用例1输入2 5输出1 说明:只有一种组装方法,就是 [2,2,1]用例2输入2 3 5输
题目描述某公司目前推出了AI开发者套件,AI加速卡,AI加速模块,AI服务器,智能边缘多种硬件产品,每种产品包含若干个型号。 现某合作商要采购金额为元的硬件产品搭建自己的AI基座。 例如当前库存有N种产品,每种产品的库存量充足,给定每种产品的价格,记为price(不存在价格相同的产品型号) 请为合作厂商列出所有可能的产品组合。输入描述输入包含采购金额和产品价格列表 第一行为 第二行为 例如500
题目描述九宫格是一款广为流传的游戏,起源于河图洛书。 游戏规则是: 1到9九个数字放在3x3的格子中,要求每行、每列以及两个对角线上的三数之和都等于15 在金庸名著《射雕英雄传》中黄蓉曾给九宫格的一种解法,口诀:戴九恩一,左三右七,二四有肩,八六为足,五居中央。现在有一种新的玩法,给九个不同的数字,将这九个数字放在3x3的格子中,要求每行、每列以及两个对角线上的三数之积相等(三阶积 幻方)。 解释
题目描述从一个长度为N的正数数组numbers中找出长度至少为L且 几何平均值 最大的子数组,并输出其位置和大小。 (K个数的 几何平均值 为K个数的乘积的K次方根) 若有多个子数组的几何平均值均为最大值,则输出长度最小的子数组。 若有多个长度相同的子数组的几何平均值均为最大值,则输出最前面的子数组。输入描述第一行输入为N、LN表示numbers的大小 L表示子数组的最小长度 之后的N行表示nu
问题提出如何计算树上任意两点 x 和 y 的最近公共祖先 呢? 通俗地理解-假设在一棵二叉树中,有两个节点 和那么该如何求这两个节点的最近公共祖先节点如下图,节点 和节点的最近公共祖先节点是思路解析假设一个节点的深度为,这可以通过一次 DFS 预处理出来。 那么这里如何进行预处理呢?单纯找一个节点的深度的解决办法较为简单假设(否则交换两个节点的位置)可以先把更靠下的更新为第个祖先节点,这样和就处
1483. 树节点的第 K 个祖先最开始自己的思路竟然是想构建多叉树,这样实在太蠢了,还是直接学习优秀的官解吧。学习历程暴力解法学习举例说明:n = 7 parent = [-1, 0, 0, 1, 1, 2, 2]一共七个节点 节点的值分别是:0,1,2,3,4,5,6-1:表示根节点ex:寻找节点6的祖先节点第一个祖先节点:parent[6] = 2第二个祖先节点:parent[2] =
题目描述示例数据[[0, 0], [0, 0], [1, 1], [1, 0], [0, 0]][[0, 0], [1, 0], [1, 0],[2, 1], [2, 1], [2, 1], [2, 0], [3, 1], [2, 0]]解决思路提取信息首先明确理解题目,初始,会有一个 -1 的根节点以供使用一个二维数组 operations --> operations[i] = [h
1240. 铺瓷砖苦此题 好几个小时,详细记录一下学习大佬的解题思路,在数据范围内能通过的一个解法思路详细记录铺设瓷砖,最开始从给定范围内(n, m)的左上角开始铺,那么可以铺 最小瓷砖的边长为 1最大瓷砖的边长为 min(n, m)按照行铺设瓷砖,第一行铺满了,铺第二行直到所有行铺满铺设策略 每一次铺瓷砖,可以从当前起点计算空白处允许铺设瓷砖的 最大边长然后 从 边长 1到最大边长mx 每一次
基本概念异或前缀和是指将数组中前缀的元素进行异或操作得到的前缀和。xorPrefixSum[i] = nums[0] ^ nums[1] ^ ... ^ nums[i]异或前缀和常用于解决一些问题 例如找出数组中出现奇数次的元素判断一个数组中是否存在两个元素的异或结果为指定值等。实战练习1177. 构建回文串检测理解题目给定了字符串 s 和 二维数组 int[][] queries,queries
写在前面在数据结构和算法中,前缀和(Prefix Sum)是一种常见的技术,用于快速计算数组或序列中某个位置之前的元素的和。除了常规的前缀和之外,还有一些常见的前缀和的变种前缀和的种类常规前缀和对于数组 nums,前缀和 prefixSum[i] 表示从索引 0 到索引 i(包括 i)的元素的和。prefixSum[i] = nums[0] + nums[1] + ... + nums[i]差分前
1130. 叶值的最小代价生成树从记忆优化搜索到递推的思路以及过程题目描述给你一个正整数数组 arr ,考虑所有满足以下条件的二叉树:每一个节点都有 0 个或者 2 个子节点数组 arr 中的值,与树的中序遍历中每一个叶子节点的值一一对应每个非叶子节点的值等于其左子树和右子树中叶节点的最大值的乘积在所有这样的二叉树中,返回每个非叶节点的值的最小可能总和。这个和的值是一个 32 位整数。如果有一个节
深入理解前中后序二叉树的前中后序遍历是什么?前中后序遍历,即二叉树结构的前中后位置 前序遍历-即刚刚进入一个节点的时候中序遍历-即进入节点之后未离开节点之前后序遍历-即即将离开第一个节点的时候前中后序是遍历二叉树过程中处理每一个节点的三个特殊时间点 前--刚刚进入一个二叉树节点的时候执行后--将要离开一个二叉树节点的时候执行中--在一个二叉树左子树遍历完,即将开始遍历右子树的时候执行后序遍历有什么
问题提出字符串的模式匹配 是字符串中最重要的操作之一给定两个字符串 一个是 模式串A 一个是 主串B求解:模式串 在主串中出现的位置 暴力匹配假设主串的长度为 m 模式串的长度为 n 则 最坏情况下的时间复杂度为 O(mn)class Solution { public int kmp (String S, String T) { int lenS
link直接暴力思路根据题意直接枚举[1, n]所有数字代表的二进制字符串然后依次判断其是否为 二进制字符串s 的子串就可以了class Solution { public boolean queryString(String s, int n) { while(n > 0) { // 使用 Integer 自带的工具类,将数字转换为二进制字
link由该题认识到二叉树中序遍历的重要性题目要求返回BST中所有的众数 众数:即,出现频率最高的元素解决该题目一个重要的前置知识是 中序遍历二叉搜索树等于遍历有序数组有了前置知识铺垫之后,问题就转化成了,在有序数组中查找出现次数最多的元素我自己的解决思路首先中序遍历二叉搜索树,把元素放到list集合中去然后,遍历list把出现次数最多的元素找出来class Solution { pri
针对二分查找查找目标元素的各种情况,以及每一行代码的不同写法的组合所达到的不同效果。
题目解析一声有效的“蛙鸣”,必须依次输出字符c r o a k,例如corak所组成的字符串不会发出声音 一只青蛙无论怎么鸣叫,其结果必定是字符串croak的重复鸣叫n声,则重复n次croak两只青蛙一齐鸣叫一次的结果是字符c r o a k的组合,即有如下可能 croakcroakcroakcroak可以代表两只青蛙一齐鸣叫的一种结果,也可以代表一只青蛙连续鸣叫两次所以,才有所求——所需青蛙的最
1043. 分隔数组以得到最大和题目描述给定一个整数数组 arr 和一个整数 k,将该数组分隔为长度最多为 k 的一些连续子数组。分隔完成后,每个子数组中的所有值都会变为该子数组中的最大值。返回将数组分隔变换后能够得到的元素最大和。示例 input : arr = [1, 15, 7, 9, 2, 5, 10] k = 3 output: 84 最佳分割方案为:[1, 15, 7] [9] [
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号