找到 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"    pattern = "NICE" 输出:在索引 10 处找到模式输入:txt = "XYZXACAADXYZXYZX"    pattern = "XYZX" 输出:在索引 0 处找到模式    在索引 ... 阅读更多

广告

© . All rights reserved.