2288. 价格减免 Medium

2024-06-19 03:28
文章标签 价格 medium 减免 2288

本文主要是介绍2288. 价格减免 Medium,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

句子 是由若干个单词组成的字符串,单词之间用单个空格分隔,其中每个单词可以包含数字、小写字母、和美元符号 '$' 。如果单词的形式为美元符号后跟着一个非负实数,那么这个单词就表示一个 价格 。

 ·例如 "$100""$23" 和 "$6" 表示价格,而 "100""$" 和 "$1e5 不是。

给你一个字符串 sentence 表示一个句子和一个整数 discount 。对于每个表示价格的单词,都在价格的基础上减免 discount% ,并 更新 该单词到句子中。所有更新后的价格应该表示为一个 恰好保留小数点后两位 的数字。

返回表示修改后句子的字符串。

注意:所有价格 最多 为  10 位数字。

示例 1:

输入:sentence = "there are $1 $2 and 5$ candies in the shop", discount = 50
输出:"there are $0.50 $1.00 and 5$ candies in the shop"
解释:
表示价格的单词是 "$1" 和 "$2" 。 
- "$1" 减免 50% 为 "$0.50" ,所以 "$1" 替换为 "$0.50" 。
- "$2" 减免 50% 为 "$1" ,所以 "$1" 替换为 "$1.00" 。

示例 2:

输入:sentence = "1 2 $3 4 $5 $6 7 8$ $9 $10$", discount = 100
输出:"1 2 $0.00 4 $0.00 $0.00 7 8$ $0.00 $10$"
解释:
任何价格减免 100% 都会得到 0 。
表示价格的单词分别是 "$3"、"$5"、"$6" 和 "$9"。
每个单词都替换为 "$0.00"。

提示:

 ·1 <= sentence.length <= 105

 ·sentence 由小写英文字母、数字、' ' 和 '$' 组成

 ·sentence 不含前导和尾随空格

 ·sentence 的所有单词都用单个空格分隔

 ·所有价格都是  整数且不含前导零

 ·所有价格 最多 为  10 位数字

 ·0 <= discount <= 100

题目大意:将所给字符串中的价格替换为打折后的价格。

分析:按照题意进行模拟即可。

class Solution {
public:string discountPrices(string sentence, int discount) {int N=sentence.size(),dot;long long integer;double num,percent=(100-discount)*1.0/100;string ans="",s;for(int i=0,j;i<N;++i){ans+=sentence[i];if(sentence[i]=='$'&&(!i||sentence[i-1]==' ')){for(j=i+1,num=0;j<N&&isdigit(sentence[j]);++j) num=num*10+(sentence[j]-'0');if((j==N||sentence[j]==' ')&&num){s=".";num*=percent;integer=floor(num);dot=round((num-integer)*100);if(dot==100){dot=0;++integer;}s+=to_string(dot/10)+to_string(dot%10);if(!integer) s=to_string(0)+s;while(integer){s=to_string(integer%10)+s;integer/=10;}ans+=s;i=j-1;}}}return ans;}
};

这篇关于2288. 价格减免 Medium的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1073875

相关文章

Leetcode 152. 乘积最大子数组(Medium)

给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续  子数组 (该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 测试用例的答案是一个 32-位 整数。 示例 1: 输入: nums = [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。 示例 2: 输入: nums = [-2,0,-1]输出: 0解释: 结果不能为 2,

Linux 挂载须知: mount 一些小问题 mount: no medium found on /dev/sr0

我属于window+VM+ubuntu的配置,有时需要把windows上的文件,挂载到虚拟机上去。然后每次使用命令的时候会出现如下的问题:                其实解决问题很简单,但是由于我自己的粗心而花费了很长的时间:    这个时候一定要确认,虚拟机的设置处是否勾选了   具体如下图所示:                 然后按照  如下的命令:   mount

[Meachines] [Medium] Lightweight LDAP密码嗅探+TRP00F 自动化权限提升+openssl 权限提升

信息收集 IP AddressOpening Ports10.10.10.119TCP:22,80,389 $ nmap -p- 10.10.10.119 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION22/tcp open ssh OpenSSH 7.4 (protocol 2.0)| ssh-hostkey:|

品牌线上价格监测的创新之路

在当今竞争激烈的电商时代,品牌的价格监测至关重要。而力维网络以其独特的创新之举,为品牌控价开辟了新的天地。 传统的价格监测往往只关注页面价,却忽略了真正影响消费者购买决策的到手价。力维网络深刻认识到这一问题,凭借自身研究的数据监测系统,开启了一场创新变革。 首先,在数据采集方面,力维网络确保到手价的准确性。不同平台的优惠信息各异,采集字段也存在差异。但力维网络迎难而上,力求采集的促销信息全

Kotlin 二分法算法游戏--猜价格

本人最新想学习算法,算法是提高程序性能的关键! 程序就是数据结构和算法! 写了一个二分法的游戏,供大家参考: 当然,语言基于kotlin import java.util.*/*** Created by Administrator on 2017/10/18.*/fun main(args: Array<String>) {// println("请输入商品真实价格")//

网络价格管控行动:四大策略,打击低价

网络价格管控的举措 设定最低售价约束:品牌方能够与在线零售商订立协议,清晰界定产品的最低售价,以守护品牌形象与市场秩序。推行动态定价策略:依照市场需求、竞争态势以及库存状况动态调节产品价格,保障市场竞争力并防止库存积压。构建官方销售途径:借助官方电商平台或者自建网上商城直接面向消费者开展销售,缩减中间环节,降低销售成本,更优地掌控产品价格。加大监管与惩罚力度:针对违背价格管控规定的零售商施行警告

卡尔曼滤波实现一阶马尔可夫形式的滤波|价格滤波|MATLAB代码|无需下载,复制后即可运行

一节马尔可夫 一阶马尔可夫噪声是一种具有马尔可夫性质的随机过程。在这种噪声中,当前时刻的状态只与前一时刻的状态有关,与更早的状态无关。 一阶马尔可夫噪声可以用一个状态转移矩阵表示,矩阵的每个元素表示从一个状态转移到另一个状态的概率。 滤波模型 状态量的迭代模型如下: 观测量为X的第一维,所以观测方程也就是取X的第一维。 运行结果 应用背景为价格滤波,所以对比X真值和滤波值的第一维

价格实惠的运动耳机推荐?分享四款开放式蓝牙耳机

说到运动蓝牙耳机,那我不得不提到开放式蓝牙耳机了,哈哈就是有某种感觉开放式耳机是为运动而生,不过不仅如此,开放式耳机在日常生活以及办公工作中也能拥有不错的体验。 那再说回来,为什么说开放式耳机适合运动时佩戴呢?主要是有下面几点原因。 1、透气性:开放式耳机的设计不完全入耳,所以开放式耳机能让空气进行流通,能够减少运动时积聚的汗水并且提高耳机佩戴的舒适度。 2、环境意识:由于开放式耳机不完

[Meachines] [Medium] Bitlab 标签自动填充登录+GitLab+Docker横向+Postgresql+逆向工程

信息收集 IP AddressOpening Ports10.10.10.114TCP:22,80 $ nmap -p- 10.10.10.114 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; pr

CS2饰品价格趋势怎么看?以及最佳入手时机

CS2饰品价格趋势怎么看?以及最佳入手时机 CS2饰品价格趋势怎么看?以及最佳入手时机 CS2选品时价格趋势图到底怎么看?什么时候值得真正入手?? 8月中上旬这波涨势大家抓住了吗?反正我们是抓住了。然而很多人都是听别人说行情上涨了才开始跑步入场,临时抱佛脚,等人家出货时你还在收货,等人家货都出完了,你CD才到期才开始出货,结果就边卖边跌,这就是为什么别人能赚钱,而你每次都赚不