【力扣LCP】速算机器人

news2024/9/28 15:25:25

在这里插入图片描述

  • 👑专栏内容:力扣刷题
  • ⛪个人主页:子夜的星的主页
  • 💕座右铭:前路未远,步履不停

目录

  • 一、题目描述
  • 二、题目分析
    • 1、常规解法
    • 2、取巧解法


一、题目描述

题目链接:力扣LCP.14 速算机器人

小扣在秋日市集发现了一款速算机器人。店家对机器人说出两个数字(记作 x 和 y),请小扣说出计算指令:

"A" 运算:使 x = 2 * x + y;
"B" 运算:使 y = 2 * y + x;
在本次游戏中,店家说出的数字为 x = 1 和 y = 0,小扣说出的计算指令记作仅由大写字母 A、B 组成的字符串 s,字符串中字符的顺序表示计算顺序,请返回最终 x 与 y 的和为多少。

在这里插入图片描述

二、题目分析

1、常规解法

循环遍历字符串每一个位置上的字符,如果遇见是'A' 就执行 x = 2 * x + y; ,如果是B就执行y = 2 * y + x;

获取每一位的字符可以用charAt()方法。

可以参照:【力扣1812】判断国际象棋棋盘中一个格子的颜色

class Solution {
    public int calculate(String s) {
        int x = 1 , y = 0;
        for(int i = 0;i<s.length();i++){
            if(s.charAt(i) == 'A'){
                x = 2 * x + y;
            }else{
                y = 2 * y + x;
            }
        }
        return x+y;
    }
}

2、取巧解法

如果遇见一个'A' 就执行 x = 2 * x + y; ,如果遇见一个B就执行y = 2 * y + x;而目标结果是x+y,所以如果遇见一个'A',最值结果是x+y=(2x+y)+y=2x+2y 出现一个'B',结果是x+y=x+(2y+x)=2x+2y 所以每出现一个'A'或者'B'x+y的值都为2*(x+y)

class Solution {
    public int calculate(String s) {
        return 1 << s.length();
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1078157.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

app如何新增广告位以提升广告变现收益?

app广告位资源是平台变现能力之一&#xff0c;广告位资源包括开屏广告、首页轮播广告、首页弹窗等大家熟知的广告位&#xff0c;流量主为了获得更高的收益&#xff0c;通常会考虑在应用中增加广告位。 增设新的广告位&#xff0c;流量主应该从以下几方面考虑。 1、广告类型 …

overflow真实使用场景-表格最右侧显示空白

问题 先看问题。下方滚动条滚动到右侧之后上下都有空白&#xff0c;但是缩放之后正常。分析之后是overflow的问题。 overflow作用是什么&#xff1f; overflow在内容大于元素框高度或者宽度时候设置&#xff0c;保证内容显示正常。 单独一个内容大于元素框高度或者宽度比较…

手机端下载文件时显示0B问题

文章目录 下载文件时显示文件大小如果是OutputStream输出流&#xff0c;如何设置大小扩展问题pdfjs预览pdf文件时遇到的问题 下载文件时显示文件大小 设置下载文件的大小 File filenew File("D:/test.txt");response.setHeader("Accept-Ranges","byt…

Axios 封装

请注意以下文件夹: utils下的setToken.js 是token封装(封装 Token-CSDN博客),service.js 是axios封装。 Axios封装: 1.安装axios 在项目终端下 输入: npm install axios --save 2.在main.js全局引入axios import axios from axiosVue.prototype.$axios =axios //挂…

python psutil库之——获取网络信息(网络接口信息、网络配置信息、以太网接口、ip信息、ip地址信息)

文章目录 使用Python psutil库获取网络信息安装psutil库获取网络连接信息查看所有网络连接过滤特定状态的连接 获取网络接口信息获取网络IO统计信息实例1实例2 总结 使用Python psutil库获取网络信息 Python的psutil库是一个跨平台库&#xff0c;能够方便地获取系统使用情况和…

C200/10/1/1/1/00 VPM04D300000 VDM01U30AL00

C200/10/1/1/1/00 VPM04D300000 VDM01U30AL00 受其客户对集成、远程和日益自主的运营的关注&#xff0c;横河于2022年6月6日推出了OpreX Asset Health Insights&#xff0c;以使资产数据更加可见、集成和可操作。 Asset Health Insights的原始版本支持Amazon Web Services和…

县域农牧业信息化项目建设技术解决方案(完整版本)

扫码关注下方公众号&#xff0c;免费获取项目建设方案&#xff01;↓↓↓ 文章目录 一、项目背景二、项目建设意义及目标三、建设内容&#xff08;1&#xff09;XX智慧养殖管理 SaaS 云平台&#xff08;2&#xff09;XX智慧养殖管理平台&#xff08;3&#xff09;XX投入品质量…

一款基于javafx的自有IP地址查询工具

SelfIPAdressQuery 使用场景 在攻防演习中、hvv防守方人员会封禁大量IP地址,人员疏忽会导致自有地址被封禁,可以使用此工具进行批量筛选自有地址. IP地址归属批量查询. 功能介绍 通过IP地址查询数据库中符合的自有IP地址或自有IP段,不存在的IP地址通过离线模式或联网模式查…

进阶JAVA篇-深入了解枚举与抽象枚举

目录 介绍一下枚举&#xff1a; 1.1枚举的概念 1.2具体如何来使用呢&#xff1f; 1.3对枚举小结 1.4抽象枚举概念 1.5对抽象枚举小结 介绍一下枚举&#xff1a; 1.1枚举的概念 在JAVA中&#xff0c;枚举是一种特殊的类&#xff0c;用于定义一组常量。Java中的枚举类型是通过使用…

spring IOC AOP核心思想

我的理解&#xff1a;一开始各个对象之间相互合作&#xff0c;是多个对象对应多个对象去使用&#xff0c;如果有一个对象出现问题就可能影响到全局&#xff0c;但是使用ioc就是在两者之间加入了一个中间媒介(spring bean也就是通过xml配置文件装配对象)&#xff0c;如果相互需要…

pytorch中nn.DataParallel多次使用

pytorch中nn.DataParallel多次使用 import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader# 定义模型 class MyModel(nn.Module):def __init__(self):super(MyModel, self).__init__()self.fc nn.Linear(10, 1)def forwa…

Filebeat、metricbeat、kafka

kibana机子上安装filebrat&#xff08;因为有nginx&#xff09; 上传filebrat包 在es概览查看 上传metricbeat 排错 tailf !$ Kibana-Vlsualize查看 kafka(卡夫卡) kafka是一个分布式的消息发布—订阅系统&#xff08;kafka其实是消息队列&#xff09;消息队列中间件 Kafka的…

二十、SpringCloud Alibaba Seata处理分布式事务

目录 一、分布式事务问题1、分布式之前2、分布式之后 二、Seata简介1、Seata是什么&#xff1f;2、Seata能干嘛&#xff1f;3、去拿下&#xff1f;4、怎么玩 三、Seata-server安装四、订单、库存、账户业务数据库准备五、订单、库存、账户业务微服务准备六、Seata原理介绍 一、…

查杀Linux服务器病毒进程并对Linux中的文件描述符FD进行简单探索

一直以来&#xff0c;我都十分推崇把看到的理论知识与实际相结合。 在今天查杀服务器病毒程序的过程中&#xff0c;顺便挖掘了一些新的知识&#xff0c;现在把他总结成一篇文章记录一下。 每一个进程都有一个文件描述符表(通过lsof -p 进程号)&#xff0c;文件描述表是操作系统…

web基础以及http协议

web基础&#xff0c;http协议 域名&#xff1a;www.88886.co DNS解析 静态页面 动态页面 DNS域名&#xff1a; 网络上的通信都是基于IP通信模式&#xff1a;TCP/IP TCP建立连接和断开连接&#xff0c;都是要双方进行确认的 建立连接&#xff1a;三次握手 断开连接&#x…

.net mvc 无法创建虚拟目录和无法启动IIS Express Web服务器指定的url无效 解决方法

.net mvc 无法创建虚拟目录 修改项目配置中web中的项目url时&#xff0c;提示无法创建虚拟目录&#xff0c;则把ip地址改为localhost再进行创建即可 无法启动IIS Express Web服务器指定的url无效 解决方法 不要勾选【覆盖应用程序根URL&#xff08;U&#xff09;】,或让【覆盖…

js中进行数字,超大金额(千位符)格式化处理

前言 最近遇到一个需求,对于社区里讨论的帖子展示一个访问量的计数显示问题,当超过多少页面访问量时,就让其显示xxx万,xx亿 对于后台返回该字段的数据类型是number,需要进行格式化数字的输出 这个应用场景在前端开发中其实很普遍,例如:音乐app里面音乐歌曲播放数量,微博里的…

Unity中Shader的Lambert光照的实现

文章目录 前言一、分别获取Lambert光照模型的每个参数Lambert光照模型公式1、使用 Unity 封装的参数 unity_AmbientSky 获取环境光色2、在属性面板定义一个float类型参数作为光照系数3、获取主平行光的颜色4、获取世界空间下的顶点法向量5、获取反射点指向光源的向量6、使用Lam…

C++day04(类中特殊成员函数、匿名对象、友元、常成员函数和常对象、运算符重载)

1> 思维导图 2> 整理代码 代码&#xff1a; 算术运算符重载&#xff1a; #include <iostream>using namespace std; class Person {//全局函数实现运算符重载需要权限friend const Person operator(const Person L,const Person R); private:int a;int b; publi…

基于Springboot实现点餐平台网站管理系统项目【项目源码+论文说明】分享

基于Springboot实现点餐平台网站管理系统演示 摘要 随着现在网络的快速发展&#xff0c;网上管理系统也逐渐快速发展起来&#xff0c;网上管理模式很快融入到了许多商家的之中&#xff0c;随之就产生了“点餐平台网站”&#xff0c;这样就让点餐平台网站更加方便简单。 对于本…