当前位置: 首页 > 编程笔记 >

C ++中的最佳除法

仉宸
2023-03-14
本文向大家介绍C ++中的最佳除法,包括了C ++中的最佳除法的使用技巧和注意事项,需要的朋友参考一下

假设我们有一个正整数列表;相邻的整数将执行浮点除法。因此,例如[2,3,4]-> 2/3 /4。现在,我们可以在任意位置添加任意数量的括号以更改这些操作的优先级。我们应该找出如何添加括号以获得最大的结果,我们必须找到字符串格式的相应表达式。我们的表达式不应包含多余的括号。因此,如果输入类似于[1000,100,10,2],则结果将为“ 1000 /(100/10/2)”。

为了解决这个问题,我们将遵循以下步骤-

    list-paddingleft-2">
  • n:= nums数组的大小

  • 如果n为0,则返回一个空白字符串。

  • num:= nums [0]作为字符串

  • 如果n为1,则返回num

  • 如果n为2,则返回num concatenate /,将nums [1]连接为字符串

  • den:=一个空字符串

  • 当我在1到n – 1的范围内

    • den:= den + nums [i]作为字符串

    • 如果我不是n – 1,则den:= den连接'/'

  • 返回num concatenate / concatenate(concatenate den,concatenate)

让我们看下面的实现以更好地理解-

示例

#include <bits/stdc++.h>
using namespace std;
class Solution {
   public:
   string optimalDivision(vector<int>& nums) {
      int n = nums.size();
      if(n == 0) return "";
      string num = to_string(nums[0]);
      if(n == 1) return num;
      if(n == 2) return num + "/" + to_string(nums[1]);
      string den = "";
      for(int i = 1; i < n; i++){
         den += to_string(nums[i]);
         if(i != n - 1) den += "/";
      }
      return num + "/" + "(" + den + ")";
   }
};
main(){
   vector<int> v = {1000,100,10,2};
   Solution ob;
   cout << (ob.optimalDivision(v));
}

输入值

[1000,100,10,2]

输出结果

1000/(100/10/2)
 类似资料:
  • 本文向大家介绍除了Visual Studio,C#的最佳IDE是什么?,包括了除了Visual Studio,C#的最佳IDE是什么?的使用技巧和注意事项,需要的朋友参考一下 Visual Studio IDE的替代方案来运行C#程序- 夏普 它是运行C#程序的开源IDE,但仅适用于Microsoft Windows。SharpDevelop是Visual Studio的替代产品。它是用C#编写的

  • 本文向大家介绍C ++中的最大擦除值,包括了C ++中的最大擦除值的使用技巧和注意事项,需要的朋友参考一下 给定正整数数组,任务是擦除包含所有唯一元素的子数组。擦除子数组所得到的结果等于其元素的总和。 通过删除当前子数组之前或之后的项来返回当前子数组的最大和,我们可以通过仅删除一个子数组来获得最大和。 阵列ARR 被称为是一个子阵列一个如果它形成的连续子序列一个即如果它等于一个[1],A [L +

  • 问题内容: 在Python中,至少有两种方法可以使用键从字典中删除项目。 两种方法都会从字典中删除项目。 我想知道这些方法之间有什么区别,以及在哪种情况下应该使用其中一种。 问题答案: 如果要 捕获已删除的项目 ,请使用,例如。 使用,如果你想 从字典中删除项目 。 如果要删除,则在密钥不在词典中时禁止显示错误:

  • 将消息从死信队列移回Amazon SQS中的原始队列的最佳实践是什么? 是吗 从DLQ获取消息 将消息写入队列 从DLQ删除消息 还是有更简单的方法? 此外,AWS最终会在控制台中提供一个工具来将消息移出DLQ吗?

  • 问题内容: 问题 在处理产品和订单的Web应用程序中,我想维护前雇员(用户)与其处理的订单之间的信息和关系。我想维护过时产品与包括这些产品的订单之间的信息和关系。 但是我希望员工能够整理管理界面,例如删除前员工,过时的产品,过时的产品组等。 我正在考虑实施软删除。那么,通常如何做到这一点? 我的即时想法 我的第一个想法是在应该可以软删除的每个对象表中粘贴“ TINYINT NOT NULL DEF

  • 问题内容: 我正在寻找一种库/方法来解析比通用xml解析库具有更多html特定功能的html文件。 问题答案: 这是一个敏捷的HTML解析器,它构建了一个读/写DOM并支持纯XPATH或XSLT(您实际上不必了解XPATH或XSLT来使用它,不用担心…)。这是一个.NET代码库,可让您解析“网络外” HTML文件。该解析器对“真实世界”格式的HTML十分宽容。对象模型与提出System.Xml的对