85 次浏览
在这里我们将看到一个有趣的问题。我们将取一个数组,然后通过将每个元素除以前一个元素来找到总和。假设一个数组是 {5, 6, 7, 2, 1, 4}。那么结果将是 5 + (6 / 5) + (7 / 6) + (2 / 7) + (1 / 2) + (4 / 1) = 12.15238。让我们看看算法来理解这个概念。算法divSum(arr, n)开始 sum := arr[0] for i := 1 to n-1, do sum := sum + arr[i] / arr[i-1] done return sum end示例#include using namespace std; float divSum(int arr[], int n){ float sum = arr[0]; for(int i = 1; i
317 次浏览
假设我们有一个数组。我们必须计算数组中出现次数为素数的元素有多少个。所以如果数组是 {1, 2, 2, 0, 1, 5, 2, 5, 0, 0, 1, 1},那么 1 出现了 4 次,2 出现了 3 次,0 出现了 3 次,5 出现了 2 次。所以有三个元素 {2, 0, 5} 出现了素数次。所以计数将是 3。算法countPrimeOccurrence(arr, n)开始 count := 0 定义一个键为整数类型、值为整数类型的映射 for ... 阅读更多
226 次浏览
在这里我们将看到一个问题。我们有一个数组。我们的任务是找到那些频率大于 1 的元素。假设元素是 {1, 5, 2, 5, 3, 1, 5, 2, 7}。这里 1 出现了 2 次,5 出现了 3 次,2 出现了 3 次,其他元素只出现了一次。所以输出将是 {1, 5, 2}算法moreFreq(arr, n)开始 定义一个键为整数类型、值为整数类型的映射 对于数组中的每个元素 e,执行 增加 map.key(arr).value done 对于每个键,检查是否 ... 阅读更多
319 次浏览
在这里我们将看到一个有趣的问题。我们取一个包含 N 个元素的数组 'a'。我们必须找到一个元素 x,使得 |a[0] - x| + |a[1] - x|+ … + |a[n-1] - x| 最小化。然后我们必须找到最小化的总和。假设数组是:{1, 3, 9, 6, 3} 现在 x 是 3。所以总和是 |1 - 3| + |3 - 3| + |9 - 3| + |6 - 3| + |3 - 3| = 11。为了解决这个问题,我们必须选择数组的中位数作为 x。如果 ... 阅读更多
49 次浏览
假设我们有一个数组,其中包含 n 个从 1 到 n 的元素,以随机顺序排列。还给定另一个整数 K。有 N 个人,他们排队打羽毛球。前两名球员将进行比赛,然后输家将走到队列的末尾。获胜者将与队列中的下一位球员比赛,依此类推。他们将一直比赛,直到有人连续获胜 K 次。然后该球员成为获胜者。如果队列是这样的 [2, 1, 3, 4, 5] 并且 K = 2,则输出将 ... 阅读更多
106 次浏览
假设我们有一个包含 n 个元素(n < 10)的字符串。我们必须找到不改变元音和辅音相对位置的情况下,可以对字符串进行排列的方式的数量。方法很简单。我们必须计算给定字符串中元音和辅音的数量,然后我们必须找到仅对元音进行排列的方式的数量,然后找到仅对辅音进行排列的方式的数量,然后将这两个结果相乘以获得排列的总数。算法arrangeWayCount(str)开始 定义一个数组 'freq' 来存储频率。 计算并放置 ... 阅读更多
273 次浏览
我们有前 N 个自然数。我们的任务是获得它们的排列,其中每个连续元素之间的绝对差 > 1。如果没有这样的排列,则返回 -1。方法很简单。我们将使用贪婪方法。我们将以升序或降序排列所有奇数,然后以降序或升序排列所有偶数算法arrangeN(n)开始 如果 N 为 1,则返回 1 如果 N 为 2 或 3,则返回 -1,因为不存在这样的排列 even_max 和 odd_max 设置为最大偶数 ... 阅读更多
296 次浏览
在这里我们将看到如何计算如下所示的莱洛三角形的面积。莱洛三角形内部有一个等边三角形。假设它的高度是 h,这个形状是由三个圆的交点形成的。有三个扇形。每个扇形的面积为 −由于等边三角形的面积被加了三次,所以我们必须减去它们。所以最终面积为 −示例#include #include using namespace std; float areaReuleaux(float h) { if (h < 0) //如果 h 为负数,则无效 return -1; float area = ... 阅读更多
220 次浏览
在这里我们将看到如何获得给定半径的 n 边正多边形的面积。这里的半径是从中心到任何顶点的距离。为了解决这个问题,我们从中心到一边画了一条垂直线。假设每条边的长度为 'a'。垂直线将边分成两部分。每部分的长度为 a/2。垂直线和一条半径形成一个角度 x。假设半径的长度为 h。在这里我们可以看到多边形被分成 N 个相等的三角形。所以对于 ... 阅读更多
822 次浏览
在这里我们将看到如何获得如下所示的叶子形状的面积,该形状位于正方形 ABCD 内部。正方形的每条边的长度为 'a'。叶子有两部分相等。每部分的面积称为 p,现在 −并且整个叶子的面积是 2p。示例#include using namespace std; float leafArea(float a){ return (a * a * (3.1415/2 - 1)); } int main() { float square_side = 7.0f; cout