找到 34423 篇文章,关于编程

在 C++ 中移除最多一个元素后最大化最大子数组和

Narendra Kumar
更新于 2019-12-24 07:03:04

223 次浏览

问题陈述 给定一个包含 N 个整数的数组 arr[]。任务是首先找到最大子数组和,然后从子数组中移除最多一个元素。移除最多一个元素,使移除后的最大和最大化。如果给定的输入数组是 {1, 2, 3, -2, 3},则最大子数组和是 {2, 3, -2, 3}。然后我们可以移除 -2。移除后,剩余数组变为 {1, 2, 3, 3},其和为 9,这是最大值。算法 1. 使用 Kadane 算法查找最大子数组和。2. 一旦找到和,重新应用 Kadane 算法 ... 阅读更多

在 C++ 中最大化数组的按位或

Narendra Kumar
更新于 2019-12-24 06:59:33

736 次浏览

问题陈述 给定一个包含 N 个整数的数组。通过执行一项任务,必须最大化数组所有元素的按位或。这项任务是将数组的任何元素最多乘以 k 次给定的整数 x。如果输入数组是 {4, 3, 6, 1},k = 2,x = 3,则可以获得的最大值为 55。算法 1. 将数组元素乘以 (x^k) 并将其按位或与所有先前元素的按位或。2. 将数组元素乘以所有后续元素的按位或。3. 返回最大值 ... 阅读更多

在 C++ 中通过翻转子数组最大化 0 的数量

Narendra Kumar
更新于 2019-12-24 06:57:49

677 次浏览

问题陈述 给定一个二进制数组,找到允许翻转一个子数组的情况下数组中 0 的最大数量。翻转操作将所有 0 转换为 1,将所有 1 转换为 0。如果 arr1= {1, 1, 0, 0, 0, 0, 0}。如果我们将前 2 个 1 翻转为 0,那么我们可以得到大小为 7 的子数组,如下所示:{0, 0, 0, 0, 0, 0, 0}。算法 1. 考虑所有子数组并找到 (1 的数量) – (0 的数量) 最大值的子数组。2. 考虑此值为 maxDiff。最后返回原始数组中 0 的数量 + maxDiff。示例 现场演示 #include ... 阅读更多

在 C++ 中使用另一个数组最大化元素

Narendra Kumar
更新于 2019-12-24 06:55:18

862 次浏览

问题陈述 给定两个大小为 n 的数组,使用第二个数组中的元素最大化第一个数组,使得新形成的数组包含两个数组中 n 个最大但唯一的元素,第二个数组具有优先级,即第二个数组的所有元素都出现在第一个数组之前。元素的出现顺序应与输出中的输入顺序相同。如果 arr1[] = {12, 15, 10} 和 arr2[] = {16, 17, 5},则 {16, 17, 15} 是通过保持顺序从两个数组中获得的最大元素。算法 1. 创建大小为 2 * ... 阅读更多

在 C++ 中进行 K 次取反后最大化数组和

Narendra Kumar
更新于 2019-12-24 06:51:55

305 次浏览

问题陈述 给定一个大小为 n 的数组和一个数字 k。我们必须修改数组 k 次。修改数组意味着在每次操作中,我们可以通过取反来替换任何数组元素 arr[i],即 arr[i] = -arr[i]。任务是以这种方式执行此操作,以便在 k 次操作后,数组的总和必须最大。如果输入 arr[] = {7, -3, 5, 4, -1},则最大和将为 20。首先取反 -3。现在数组变为 {7, 3, 5, 4, -1}。取反 -1。现在数组变为 {7, 3, 5, 4, 1}。算法 1. 替换最小元素 ... 阅读更多

在 C++ 中最大化到给定数字的数组元素

Narendra Kumar
更新于 2019-12-24 06:47:07

394 次浏览

问题陈述 给定一个整数数组、一个数字和一个最大值,任务是计算可以从数组元素中获得的最大值。从开头遍历数组上的每个值都可以添加到或从先前索引获得的结果中减去,这样在任何时候结果都不小于 0 且不大于给定的最大值。对于索引 0,将先前结果取为给定数字。如果没有可能的答案,则打印 -1。如果 arr[] = {3, 10, 6, 4, 5},数字 ... 阅读更多

在 C++ 中通过交换其极端位置的位来最大化给定的无符号数

Narendra Kumar
更新于 2019-12-24 06:43:22

135 次浏览

问题陈述 给定一个数字,通过交换其极端位置的位来最大化它,即在第一位和最后一位、第二位和倒数第二位等等。如果输入数字是 8,则其二进制表示为:00000000 00000000 00000000 00001000。交换极端位置的位后,数字变为:00010000 00000000 00000000 00000000,其十进制等价物为:268435456。算法 1. 创建原始数字的副本。2. 如果较低有效位为 1 且较高有效位为 0,则仅在位中交换位,继续此过程,直到较低有效位的位数小于较高有效位的位数 ... 阅读更多

C++ 中的最大不相交区间

Narendra Kumar
更新于 2019-12-24 06:39:21

232 次浏览

描述 给定一组 N 个区间,任务是找到最大的一组互不相交的区间。如果两个区间 [i, j] & [k, l] 没有公共点,则称它们是不相交的。如果区间是 {{10, 20} {23, 35}, {15, 21}, {37, 41}},则最大不相交对是:{10, 20} {23, 35} {37, 41}。请注意,我们不能包含 {15, 21},因为它与 {10, 20} 重叠。算法 1. 根据区间的端点对区间进行排序。2. 遍历所有区间,如果我们得到两个重叠的区间,则选择端点较低的区间 ... 阅读更多

C 语言基数排序程序

sudhir sharma
更新于 2019-12-24 06:33:31

13K+ 次浏览

排序算法是一种将列表的组件按特定顺序排列的算法。最常用的顺序是数值顺序和字典顺序。基数排序是一种非比较排序算法。基数排序算法是最适合未排序列表的算法。它首先通过对相同位值的个位数字进行分组来对元素进行排序。基数排序的思想是从最低有效位 (LSD) 到最高有效位 (MSD) 按其递增/递减顺序进行逐位排序。基数排序是一种多次用于字母排序的小方法 ... 阅读更多

用于模式搜索的 C 语言 Rabin-Karp 算法程序

sudhir sharma
更新于 2019-12-24 06:26:19

3K+ 次浏览

C 语言中的模式匹配 - 我们必须查找另一个字符串中是否存在一个字符串,例如,字符串“algorithm”存在于字符串“naive algorithm”中。如果找到,则显示其位置(即它存在的位置)。我们倾向于创建一个接收 2 个字符数组并返回匹配发生时的位置(否则返回 -1)的函数。输入:txt = "HERE IS A NICE CAP" 模式 = "NICE" 输出:模式在索引 10 处找到 输入:txt = "XYZXACAADXYZXYZX" 模式 = "XYZX" 输出:模式在索引 0 处找到 模式在索引 ... 阅读更多

广告
© . All rights reserved.