获得徽章 0
- #刷题交流#
问题:
问题描述
小R正在计划一次从地点A到地点B的徒步旅行,总路程需要 N 天。为了在旅途中保持充足的能量,小R每天必须消耗1份食物。幸运的是,小R在路途中每天都会经过一个补给站,可以先购买完食物后再消耗今天的1份食物。然而,每个补给站的食物每份的价格可能不同,并且小R在购买完食物后最多只能同时携带 K 份食物。
现在,小R希望在保证每天食物消耗的前提下,以最小的花费完成这次徒步旅行。你能帮助小R计算出最低的花费是多少吗?
思路这道题目综合运用了双端队列(deque)数据结构和单调队列算法知识,是一道典型的动态规划与滑动窗口结合的问题,适合练习数据结构与算法综合应用的同学。
思路说明
题目要求在给定的天数 N 和最大携带食物量 K 的限制下,计算出完成徒步旅行所需的最小花费。每天经过的补给站食物价格不同,且每天必须消耗1份食物。我们可以通过维护一个单调递增的双端队列来记录当前窗口内的最小价格,从而在每次购买食物时选择最便宜的选项。通过滑动窗口的方式,逐步计算出每天的最小花费,最终得到总的最小花费。
解题过程
初始化:创建一个双端队列 mins 用于存储当前窗口内的最小价格及其对应的天数。初始化结果 result 为0。
遍历每一天:
维护单调队列:在每次遍历中,首先检查队列 mins 的末尾元素,如果其价格大于当前天的价格,则将其弹出,直到队列为空或队列末尾元素的价格小于等于当前天的价格。然后将当前天的价格和天数加入队列。
滑动窗口:检查队列 mins 的头部元素,如果其对应的天数已经不在当前窗口内(即 mins[0][0] <= j - k),则将其弹出。
计算花费:将当前窗口内的最小价格(即队列头部元素的价格)累加到 result 中。
返回结果:遍历结束后,result 即为完成徒步旅行的最小花费。展开赞过评论2 - 今天晚上想学习下vue 中的路由,日常感激祖师爷尤雨溪赏饭吃
路由:就是通过互联的网络把信息从源地址传输到目的地址的活动。
4、后端路由阶段
早期的网站开发整个HTML页面是由服务器来渲染的。
服务器直接生产渲染好对应的HTML页面, 返回给客户端进行展示。
但是, 一个网站, 这么多页面服务器如何处理呢?
一个页面有自己对应的网址, 也就是URL。
URL会发送到服务器, 服务器会通过正则对该URL进行匹配, 并且最后交给一个Controller进行处理。
Controller进行各种处理, 最终生成HTML或者数据, 返回给前端。
这就完成了一个IO操作。
上面的这种操作, 就是后端路由:
当我们页面中需要请求不同的路径内容时, 交给服务器来进行处理, 服务器渲染好整个页面, 并且将页面返回给客户顿。
这种情况下渲染好的页面, 不需要单独加载任何的js和css, 可以直接交给浏览器展示, 这样也有利于SEO的优化。
后端路由的缺点:
一种情况是整个页面的模块由后端人员来编写和维护的。
另一种情况是前端开发人员如果要开发页面, 需要通过PHP和Java等语言来编写页面代码。
而且通常情况下HTML代码和数据以及对应的逻辑会混在一起, 编写和维护都是非常糟糕的事情。
————————————————
版权声明:本文为CSDN博主「哪 吒」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:blog.csdn.net
展开评论点赞 - #新人报道#
大致浏览了一下<<我用 ChatGPT 读 Vue3 源码>>这篇文章,chatgpt还是挺强的,但是不能完全信任,只能作为辅助,基本上小结和大概意思还能看的下去.
收获:
setupStatefulComponent函数作用:
---vue3setup的初始化函数
---创建了代理缓存accessCache
---创建公共实例代理对象(proxy)
---执行组件的 setup()
小结:
小结一下setup的始末:
从组件挂载开始调用createComponentInstance创建组件实例
传递组件实例给setupComponent
setupComponent内部初始化 props 和 slots
setupStatefulComponent 执行组件的setup
完成 setup 流程
返回渲染函数
作者:李瑞丰_liruifengv
链接:juejin.cn
来源:稀土掘金展开评论点赞