当前位置: 首页 > article >正文

Leecode刷题C语言之判断是否可以赢得数字游戏

执行结果:通过

执行用时和内存消耗如下:

 

 

bool canAliceWin(int* nums, int numsSize) {
    int single_digit_sum = 0;
    int double_digit_sum = 0;
    for (int i = 0; i < numsSize; i++) {
        if (nums[i] < 10) {
            single_digit_sum += nums[i];
        } else {
            double_digit_sum += nums[i];
        }
    }
    return single_digit_sum != double_digit_sum;
}

解题思路:

  1. 初始化变量
    • single_digit_sum:用于存储所有个位数之和。
    • double_digit_sum:用于存储所有两位数之和。
  2. 遍历数组
    • 遍历给定的整数数组nums,数组的大小为numsSize
    • 对于数组中的每一个元素nums[i],根据它的值进行分类处理:
      • 如果nums[i]小于10(即是个位数),则将其加到single_digit_sum中。
      • 如果nums[i]大于或等于10(即是两位数),则将其加到double_digit_sum中。
  3. 判断胜负条件
    • 比较single_digit_sumdouble_digit_sum的值。
    • 如果这两个和不相等(single_digit_sum != double_digit_sum),则函数返回true,表示Alice可以获胜。
    • 如果这两个和相等(single_digit_sum == double_digit_sum),则函数返回false,表示Alice不能获胜。

总结

  • 函数的核心思想是通过计算数组中所有个位数之和与所有两位数之和,并比较这两个和是否相等来判断Alice是否能获胜。
  • 如果个位数之和与两位数之和不同,则认为Alice有某种策略可以获胜(这取决于具体的游戏规则,虽然代码中没有明确给出)。
  • 如果两个和相等,则Alice无法在这种条件下获胜。

http://www.kler.cn/a/417314.html

相关文章:

  • 一表总结 Java 的3种设计模式与6大设计原则
  • 使用数学工具和大模型结合训练专有小模型(有限元算法和大模型微调)
  • 优惠券平台(十一):布隆过滤器、缓存空值、分布式组合的双重判定锁解决缓存穿透问题
  • 阿里云cdn怎样设置图片压缩
  • javaEE-6.网络原理-http
  • mounted钩子函数里如何操作子组件的DOM?
  • 在CentOS7上更换为阿里云源
  • 【RK3588 Linux 5.x 内核编程】-发送信号到用户空间
  • 高级IO
  • Golang面经
  • Linux 安装scala
  • Ansible自动化一键部署单节点集群架构
  • zotero文献阅读配置1:待更新
  • 【Oracle11g SQL详解】ORDER BY 子句的排序规则与应用
  • pandas数据处理及其数据可视化的全流程
  • 爬虫与反爬-旋转验证码突破方案(知名短视频、TK海外版 及 某东等等)
  • Java设计模式 —— 【创建型模式】原型模式(浅拷贝、深拷贝)详解
  • (附项目源码)PHP开发语言,225 基于PHP的高校二手物品交易系统的设计与实现,计算机毕设程序开发+文案(LW+PPT)
  • 深入理解异步编程:使用 `asyncio` 和 `aiohttp` 进行并发请求
  • 性能测试工具Grafana、InfluxDB和Collectd的搭建
  • Linux - 时间服务器
  • springboot学习-spring-boot-data-jdbc分页/排序/多表查询的例子
  • 基于大数据python 房屋价格数据分析预测可视化系统(源码+LW+部署讲解+数据库+ppt)
  • ESP32-S3模组上跑通ES8388(10)
  • CommonJS 和 ES Modules 的 区别
  • uniapp配置全局消息提醒