首页 > 其他分享 >【Go】单调栈

【Go】单调栈

时间:2024-04-11 10:45:25浏览次数:23  
标签:寿司 int res len Go i% stack 单调

寿司店周年庆,正在举办优惠活动只回馈新老客户寿司转盘上总共有n盘寿司,prices 是第i盘寿司的价格,如果客户选择了第i密寿司,寿司店免费赠送客户距离第i盘寿司最近的下一盘寿可j,前提是 pricesm< pricesū,如果没有满足条件的ì,则不赠送寿司。
每个价格的寿司都可无限供应。
输入描述
输入的每一个数字代表每盘寿司的价格,每盘寿司的价格之间使用空格分隔寿司的盘数 n范围为:1<=n <= 500
输出描述
输出享受优惠后的一组数据,每个值表示客户选择第i盘寿司时实际得到的寿司的总价格。使用空格进行分隔。
示例1:
输入:
3 15 6 14
输出:
3 21 9 17

点击查看代码
func main() {
	s := []int{3, 15, 6, 14}
	res := make([]int, 4)
	stack := make([]int, 0)
	l := len(s)
//环形数组处理
	for i := l*2 - 1; i >= 0; i-- {
		for len(stack) > 0 && stack[len(stack)-1] >= s[i%l] {
			stack = stack[0 : len(stack)-1]
		}
		if len(stack) == 0 {
			res[i%l] = s[i%l]
		} else {
			res[i%l] = s[i%l] + stack[len(stack)-1]
		}
		stack = append(stack, s[i%l])
	}
	for _, v := range res {
		fmt.Printf("%d ", v)
	}

}

标签:寿司,int,res,len,Go,i%,stack,单调
From: https://www.cnblogs.com/ayf-devops/p/18128295

相关文章

  • mongodb备份恢复
    1.mongo状态查看监控及时获得应用的运行状态信息,在问题出现时及时发现。监控哪些CPU、内存、磁盘I/O、应用程序(MongoDB)、进程监控(ps-aux)、错误日志监控mongo内部状态db.serverStatus()查看实例运行状态(内存使用、锁、用户连接等信息)通过比对前后快照进行性能分析"......
  • Go性能分析-pprof
    背景go语言的性能分析工具pprof,公司很多人写过相关介绍,本文主要是做一个总结及完善~说明:要使用pprof,需要先注册(比如注册到Gin的80端口)相关文档pprof的使用pprof使用详解和源码分析实用gopprof使用指南 pprof使用pprof网页地址默认地址:http://<ip>:<port>/debug/p......
  • 深入浅出Go语言:反射应用解密!
    深入浅出Go语言:反射应用解密!原创 麻凡 麻凡 2024-03-0609:02 湖南 1人听过在Go语言编程中,反射是一项高级技术,能够在程序运行时检查变量和值的类型。你可能会问,为什么我们需要反射呢?让我们一起揭开这个神秘的面纱。为什么需要反射大多数情况下,我们在编写代码时都可......
  • #莫队二次离线,根号分治#洛谷 5398 [Ynoi2018] GOSICK
    题目\(m\)组询问求\(\sum_{l\leqi,j\leqr}[a_i\bmoda_j==0],n,m,a_i\leq5\times10^5\)分析设\(f(l,r,x)\)表示\(i或j\in[1,x],i或j\in[l,r]\)时的答案,\(g_x\)表示\([1,x]\)的答案,根号的做法可以通过三秒由于涉及区间内的求值,需要在莫队的基础上二次离线,那......
  • go写入配置文件
    packageinstallimport("fmt""io/ioutil""os"v2"gopkg.in/yaml.v2""github.com/fanux/sealos/net""github.com/fanux/sealos/pkg/logger")const(defaultConfigPath="......
  • goto语句
    今天给大家分享一个小知识----goto语句。goto语句就是可以随意无条件的转移语句,运用形式是:标记名:...        goto标记名;这两个中间可以写任意内容,标记名也可以在goto语句后面,位置随意。给大家分享一个好玩的例子:一个定时关机程序,输入我是小狗,取消关机,输......
  • django simpleui 的list_display添加自定义列、显示图片 及alert弹窗的设置方法
    参考djangosimpleui的list_display添加自定义列、显示图片及alert弹窗的设置方法-CSDN博客环境:python:3.8.xDjango:3.2.xDjango-simpleui:2021.x先定义下模型#models.pyclassDog(models.Model):name=models.CharField(max_length=15,verbose_name='小狗名字')......
  • Go 源码之旅-开篇
    欢迎来到《Go源码之旅》专栏!在这个专栏中,我们将深入探索Go编程语言的内部数据结构的工作原理,一起踏上一段令人兴奋的源码之旅。我们将一步步解析关键的数据结构底层工作原理以及一些常用框架的设计原理及其源码。无论你是初学者还是有经验的开发人员,这个专栏都将为你提......
  • 牛蛙!GoFrame2.7正式版的监控组件真是及时雨
    声明:本文首发在同名公众号:王中阳Go,未经授权禁止转载。......
  • 基于Golang的Nano游戏服务器框架
    在游戏开发过程中,一个高效的服务器框架是至关重要的。Nano正是这样一个框架,它以Golang为基础,提供了轻量级、高性能的服务器解决方案。下面,我们将深入探讨Nano的设计理念、核心特性以及如何在实战中使用它。Nano框架概述Nano是一个针对游戏服务器的框架,能够帮助开发者快速......