找到 34423 篇文章 编程
118 次浏览
问题陈述给定一个整数数组,任务是找到数组每个子集的所有元素的按位与运算,并打印所有这些运算中的最小按位与值。示例如果 arr[] = {1, 2, 3, 4, 5} 则 (1 & 2) = 0 (1 & 3) = 1 (1 & 4) = 0 (1 & 5) = 1 (2 & 3) = 2 (2 & 4) = 0 (2 & 5) = 0 (3 & 4) = 0 (3 & 5) = 1 (4 & 5) = 4算法数组的任何子集的最小按位与值将是 ... 阅读更多
79 次浏览
问题陈述给定一个仅包含 0 和 1 的 n 个整数的数组。找到所需的最小切换次数(从 0 切换到 1 或反之亦然),以便数组被分区,即它首先为 0 然后为 1。示例如果 arr[] = {1, 0, 0, 1, 1, 1, 0} 则需要 2 次切换,即切换第一个 1 和最后一个 0。算法如果我们观察问题,我们会发现从 0 到 n-1 肯定存在一个点,该点左侧的所有元素都应包含所有 0,右侧的所有元素都应包含所有 1这些索引不 ... 阅读更多
290 次浏览
问题陈述给定一个长度为偶数且 0 和 1 个数相等的二进制字符串。使字符串交替所需的最少交换次数是多少?如果两个连续元素不相等,则二进制字符串为交替字符串示例如果 str = 11110000 则需要 2 次交换。算法计算字符串奇数位置和偶数位置的零的个数。分别设其计数为 oddZeroCnt 和 evenZeroCnt计算字符串奇数位置和偶数位置的 1 的个数。分别设其计数为 oddOneCnt 和 evenOneCnt我们将始终交换 1 和 0。因此,我们只需检查是否 ... 阅读更多
206 次浏览
问题陈述给定一个包含 0 和 1 的数组。任务是找到将数组中所有 1 组合在一起所需的最少交换次数。示例如果输入数组 = {1, 0, 1, 1, 0, 1} 则需要 1 次交换。即交换第一个 0 和最后一个 1。算法计算数组中 1 的总数如果计数为 x,则我们需要找到此数组中长度为 x 的子数组,该子数组包含最多的 1所需的最少交换次数将是长度为 x 的子数组中 0 的个数示例 实时演示#include using namespace std; int getMinSwaps(int *arr, int n) { int count = 0; for (int i = 0; i < n; i++) { if (arr[i] == 1) count++; } int minSwaps = n; for (int i = 0; i <= n - count; i++) { int swaps = 0; for (int j = 0; j < count; j++) { if (arr[i + j] == 0) swaps++; } minSwaps = min(minSwaps, swaps); } return minSwaps; } int main() { int arr[] = {1, 0, 1, 1, 0, 1}; int n = sizeof(arr) / sizeof(arr[0]); cout << getMinSwaps(arr, n); return 0; } ... 阅读更多
393 次浏览
问题陈述给定一个包含 n 个正整数的数组和一个数字 k。找到将所有小于或等于 k 的数字组合在一起所需的最少交换次数。示例如果输入数组为 = {1, 5, 4, 7, 2, 10} 且 k = 6,则需要 1 次交换,即交换元素 7 和 2。算法计算所有小于或等于“k”的元素。假设计数为“cnt”使用长度为“cnt”的窗口的双指针技术,每次跟踪此范围内有多少个元素大于“k”。假设总数 ... 阅读更多
136 次浏览
问题陈述给定一个数字三角形结构,找到从上到下的最小路径和。在每一步,您都可以移动到下一行上的相邻数字。示例如果输入为 − 5 7 3 8 1 2 9 6 4 5则最小和为 13,如下所示:5 + 3 + 1 + 4算法使用动态规划的记忆化技术创建用于记忆化的 1-D 数组,即记忆化对于每个 K 行,使用以下公式:memorization[i] = min( memorization[i], memorization[i+1]) + A[k][i];示例 实时演示#include using namespace std; int getMinSum(vector &arr) { int memorization[arr.size()]; int n = arr.size() - 1; for (int i = 0; i < arr.size(); i++) memorization[i] = arr[n][i]; for (int k = n - 1; k >= 0; k--) { for (int i = 0; i < arr[k].size(); i++) { memorization[i] = min(memorization[i], memorization[i + 1]) + arr[k][i]; } } return memorization[0]; } int main() { vector <vector <int>> arr = {{5}, {7, 3}, {8, 1, 2}, {9, 6, 4, 5}}; cout << getMinSum(arr); return 0; } ... 阅读更多
167 次浏览
问题陈述给定一个二叉树,其中每个节点元素都包含一个数字。任务是找到从一个叶子节点到另一个叶子节点的最小可能和。示例在上图中,最小子路径为 -6,如下所示:(-4) + 3 + 2 + (-8) + 1算法该想法是在递归调用中维护两个值:当前节点下根节点到叶子节点的最小路径和两个叶子节点之间的最小路径和对于每个访问的节点 X,我们必须找到 X 的左右子树中的最小根到叶子的和。然后将这两个值相加 ... 阅读更多
410 次浏览
描述给定一个包含 0 到 9 的值的数字数组。任务是找到由数组的数字组成的两个数字的最小可能和。请注意,我们必须使用给定数组的所有数字示例如果输入数组为 {7, 5, 1, 3, 2, 4},则最小和为 382,因为我们可以创建两个数字 135 和 247。算法按升序对数组进行排序通过交替选择排序数组中的数字来创建两个数字,即从偶数索引和奇数索引创建示例 实时演示#include using namespace std; int getMinSum(int *arr, int n) { sort(arr, arr + n); int num1 = 0, num2 = 0; for (int i = 0; i < n; i++) { if (i % 2 == 0) num1 = num1 * 10 + arr[i]; else num2 = num2 * 10 + arr[i]; } return num1 + num2; } int main() { int arr[] = {7, 5, 1, 3, 2, 4}; int n = sizeof(arr) / sizeof(arr[0]); cout << getMinSum(arr, n); return 0; } ... 阅读更多
3K+ 次浏览
lambda 表达式本身无法执行。它用于实现已在函数式接口中声明的方法。我们需要遵循一些规则才能在 lambda 表达式中使用异常处理机制。lambda 表达式的规则除非其对应的函数式接口声明了 throws 子句,否则 lambda 表达式不能抛出任何已检查异常。任何 lambda 表达式抛出的异常可以是其函数式接口的 throws 子句中声明的异常的相同类型或子类型。示例-1interface ThrowException { void throwing(String message); } public class LambdaExceptionTest1 { ... 阅读更多
545 次浏览
在本文中,我们将学习以下给定问题陈述的解决方案。问题陈述 - 给定一个字符串,我们需要显示字符串的所有可能排列。现在让我们在下面的实现中观察解决方案 - 示例 实时演示# 转换 def toString(List): return ''.join(List) # 排列 def permute(a, l, r): if l == r: print (toString(a)) else: for i in range(l, r + 1): a[l], a[i] = a[i], a[l] permute(a, l + 1, r) a[l], ... 阅读更多
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP