1K+ 次浏览
问题陈述 给定N个盛有水的杯子,以及每个杯子的容量列表。任务是找到精确填充K个杯子所需的最少瓶数。每瓶的容量为100单位。示例如果N = 5,K = 4,capacity[] = {1, 2, 3, 2, 1}。填充容量为2、3、2的杯子需要8个单位。这样,只需打开1瓶就足够了。算法要精确填充K个杯子,取容量最小的K个杯子。所需总瓶数可计算为 - (前K个杯子容量之和) 的上取整值 / (瓶子的容量…) 阅读更多
346 次浏览
问题陈述 给定一个字符串,找到要追加的最小字符数以使其成为回文串。示例如果字符串是abcac,那么我们可以通过追加2个高亮字符(即abcacba)来使字符串成为回文串。算法检查字符串是否已经是回文串,如果是,则无需追加任何字符。一次一个地从字符串中移除一个字符,并检查剩余字符串是否为回文串。重复上述过程,直到字符串变为回文串。返回到目前为止移除的字符数作为最终答案。示例#include #include using namespace std; bool isPalindrome(char *str) { int n = strlen(str); if (n == 1) { ... 阅读更多
352 次浏览
问题陈述 给定n个彼此互为排列的字符串。我们需要使用将任何字符串的第一个字符移动到其末尾的操作使所有字符串相同。示例如果arr[] = {“abcd”, “cdab”},则需要2次移动。让我们取第一个字符串“abcd”。将字符'a'移动到字符串的末尾。此操作后,字符串变为“bcda”。现在将字符'b'移动到字符串的末尾。此操作后,字符串变为“cdab”。这反过来使两个字符串相等。算法取第一个字符串。让我们称之为'str1'。通过将str1连接到str1创建一个临时字符串作为… 阅读更多
311 次浏览
问题陈述 给定一个二进制字符串,我们可以翻转左边的所有1和右边的所有0。任务是计算使所有1在左边,所有0在右边所需的最少翻转次数。示例给定的二进制字符串是0010101。在这个字符串中,有3个1位和4个0位。我们必须翻转高亮的4位才能使所有1在左边,所有0在右边,如下所示:0010101翻转后字符串将变为:1110000算法从左到右遍历字符串,并计算将所有0转换为1所需的反转次数。遍历… 阅读更多
221 次浏览
描述 给定两个整数a和b,找到最小的可能高度,使得至少面积为'a'和底边为'b'的三角形可以形成。示例如果a = 16且b = 4,则最小高度为8。算法三角形的面积可以使用以下公式计算:area = ½ * height * base使用上述公式,高度可以计算为:height = (2 * area) / base所以最小高度是使用上述公式获得的高度ceil()。示例#include #include using namespace std; float minHeight(int area, int base) { return ceil((2 * area) / base); } int main() { int area = 16, base = 4; cout
3K+ 次浏览
在这个问题中,我们给定一个值n,我们想兑换n卢比,我们有n个硬币,每个硬币的值范围从1到m。我们必须返回构成总和的总方法数。示例输入:N = 6;coins = {1, 2, 4}。输出:6说明:构成总和6的总组合是:{1, 1, 1, 1, 1, 1};{1, 1, 1, 1, 2};{1, 1, 2, 2};{1, 1, 4};{2, 2, 2};{2, 4}。示例#include … 阅读更多
26K+ 次浏览
我们得到一个图,其中包含图中的一个源顶点。我们必须找到从图的源顶点到图的所有其他顶点的最短路径。Dijkstra算法是一种贪婪算法,用于查找从图的源顶点到图的根节点的最短路径。算法步骤1:创建一个集合shortPath来存储出现在最短路径树中的顶点。步骤2:将所有距离值初始化为INFINITE,并将源顶点的距离值赋值为0,以便… 阅读更多
6K+ 次浏览
二项式系数表示为c(n, k)或ncr,定义为(1+X)n的二项式展开式中xk的系数。二项式系数也给出从n个对象中选择k个项目的方法数,即n元素集的k-组合。项目的选中顺序不考虑。在这里,我们得到两个参数n和k,我们必须返回二项式系数nck的值。示例输入:n = 8且k = 3 输出:56这个问题可以有多种解决方案,一般解法有一种方法可以计算… 阅读更多
2K+ 次浏览
二进制数是一个只有两个位0和1的数。格雷码是一种特殊的二进制数,它具有这样的特性:代码的两个连续数的差异不能超过一位。格雷码的这一特性使其在K图、纠错、通信等方面更有用。这使得二进制到格雷码的转换成为必要。因此,让我们看看一个使用递归将二进制转换为格雷码的算法。示例让我们来看一个格雷码的例子输… 阅读更多
182 次浏览
本题给定一个已排序的有理数数组,要求在不使用浮点运算的情况下,使用二分查找算法在这个有理数数组中搜索给定元素。有理数是以 p/q 的形式表示的数,其中 p 和 q 都是整数。例如,⅔、⅕。二分查找是一种通过查找数组中间元素来查找元素的搜索技术。为了在一个已排序的有理数数组中使用二分查找找到元素,且不允许使用浮点运算,我们将比较分子和分母来查找……阅读更多