85 次浏览
我们将看到一个有趣的问题。我们将取一个数组,然后通过将每个元素除以前一个元素来求和。让我们考虑一个数组 {5, 6, 7, 2, 1, 4}。那么结果将是 5 + (6 / 5) + (7 / 6) + (2 / 7) + (1 / 2) + (4 / 1) = 12.15238。让我们看看算法来理解这个概念。算法divSum(arr, n)begin 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)Begin 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)Begin 定义一个键为整型,值为整型的映射 对于数组中的每个元素 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)Begin 定义一个数组 'freq' 来存储频率。 计算并放置 ... 阅读更多
273 次浏览
我们有前 N 个自然数。我们的任务是得到它们的排列,其中每两个连续元素之间的绝对差 > 1。如果没有这样的排列,则返回 -1。方法很简单。我们将使用贪婪方法。我们将按升序或降序排列所有奇数,然后按降序或升序排列所有偶数算法arrangeN(n)Begin 如果 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