首页 > 编程语言 >c#算法例子

c#算法例子

时间:2023-04-13 16:57:19浏览次数:40  
标签:AutoOpenOrderCondition c# tempNum qujian HandleValueByCompareType 算法 例子 value va

1,计算几个区间是否重叠

有几组数据,满足以下条件:
每组数据有最大和最小值,且必须有一个最大或一个最小

var tempNum = 0.001m;
var maxNum = request.AutoOpenOrderCondition.Max(s => s.MaxPurchasePrice ?? 0) + tempNum;
var minNum = request.AutoOpenOrderCondition.Max(s => s.MinPurchasePrice ?? 0) - tempNum;
var qujian = request.AutoOpenOrderCondition.Select(s => new Tuple<decimal, decimal>(HandleValueByCompareType(s.MinPurchasePriceCompareType, s.MinPurchasePrice ?? minNum, tempNum), HandleValueByCompareType(s.MaxPurchasePriceCompareType, s.MaxPurchasePrice ?? maxNum, -tempNum))).ToList();
for (int i = 0; i < qujian.Count - 1; i++)
{
var itema = qujian[i];
for (int j = i + 1; j < qujian.Count; j++)
{
var itemb = qujian[j];
if (!(itema.Item2 < itemb.Item1 || itema.Item1 > itemb.Item2))
{
throw CommonFaultFactory.CreateFault("自动开单条件采购单价重叠", "SaveCentralizedPurchasingSetOpenOrderRules");
}
}
}

 

decimal HandleValueByCompareType(string compareType, decimal value, decimal t = 0.001m)
{
switch (compareType)
{
case "<":
return value + t;
case "<=": return value;
}

return value;
}

标签:AutoOpenOrderCondition,c#,tempNum,qujian,HandleValueByCompareType,算法,例子,value,va
From: https://www.cnblogs.com/caihuaxing/p/17315406.html

相关文章

  • 【异步加载JS脚本(script标签)至html文档中】的辅助函数
    Code:/***'asyncLoadScript'方法的配置项'options'的类型定义*@typedef{Object}IOptions*@prop{string}id-script标签的ID*@prop{Function}onSucceed-加载成功后的回调*@prop{(Function|undefined)}onFailed-加载失败后的回调*@prop{boolean}s......
  • mvc异步请求接收响应数据
            ......
  • cookie的相关作用
    cookie除了使用js文件来将相关的用户名密码存储到cookie里面,并执行保留7天的操作之外,我们同样可以是使用servlet进行相关问题的解决若是用户名以及密码的登录条件符合要求,则可以使用cookie对其进行存储:知乎实现登录成功之后的跳转:如果已经登录过如果已经登录过,那么可以定义......
  • uniapp 使用cli模式,利用jenkins远程部署
    1、uniapp必须使用cli模式,如果是hbuliderx创建的,不支持2、jenkins配置需要publishoverssh插件和node插件,自行百度即可现在主要说说配置1)、系统管理-》系统配置中,找到publishoverssh 2          ......
  • docker----day04()
    面试如何自定制上下文管理器#一个对象如果实现了__enter__和___exit__方法,那么这个对象就支持上下文管理协议,即with语句##上节回顾```python#1docker启动,停止,查看状态命令 systemctlstartdockersystemctlstopdockersystemctlstatusdockerd......
  • es 同步索引报错:ElasticSearch ClusterBlockException[blocked by: [FORBIDDEN/12/ind
    es同步索引报错:ElasticSearchClusterBlockException[blockedby:[FORBIDDEN/12/indexread-only/allowdelete(api)]原因:网上有的解决方式是方法一,我试过,没有生效使用的是方法二方法一curl-XPUT-H"Content-Type:application/json"https://localhost:9200/_all/_set......
  • DispatcherServlet 是一个 Servlet 也是一个bean
    ServletDispatcherServlet实现了javax.servlet.Servlet接口,负责处理来自客户端浏览器的HTTP请求,并将请求分发给相应的Controller进行处理。DispatcherServlet通常是Web应用程序中唯一一个Servlet,并且是SpringMVC框架中最核心的组件之一。SpringBoot启动时会初始化Tomcat容器......
  • Elasticsearch——》kibana操作索引:增删改查
    一、新建索引PUT/test_001{"settings":{"index":{"max_result_window":1000000},"analysis":{"analyzer":{"ik_max_word":{"tokenizer":"ik_max_......
  • ubuntu 20.04 基于docker快速搭建中文 的一些问题解决 Utilization of discoverer pro
    1.Utilizationofdiscovererprocessesover75%解决办法问题状态如下zabbixserver在开启Discovery功能后,zabbixweb页面报警提示:“Zabbixserver:Ulitizationofdiscovererprocessesover75%”。原因:每个discovery任务占用一个discovery进程,但是zabbixserver默认只配置了一......
  • JavaScript黑科技:变量监听
    作者:JShaman团队,转载请保留功能目标实时监视一个变量的值,当值发生改变时,马上给出提示。实现方法一直观且朴素的方法,可以用setInterval,循环检测变量的值,示例代码:<html><body><script>//要监视的变量vartest_value=1;setInterval(function(){......