本文始发于个人公众号:TechFlow,原创不易,求个关注


今天是LeetCode专题的第23篇文章。

今天来看一道很有意思的题,它的难度是Hard,并且有许多种解法。

首先我们来看题面,说是我们有若干个水坝,水坝的宽都是1,但是水坝的高度参差不齐。某一天我们向水坝围起来的部分灌水,一直到灌满为止,请问水坝中存储了多少单位的水?我们可以参考一下下图:

上图当中黑色的部分是水坝,蓝色的部分是存储的水。所有的水坝的宽度是1,长度是整数,不考虑损耗。

我们的输入是一个数组,表示若干个水坝的高度,要求的输出是一个整数,表示这些水坝围起来的面积。比如上图的样例为:

Input: [0,1,0,2,1,0,1,3,2,1,2,1]
Output: 6

暴力

这题刚拿到手比较棘手,因为我们只知道水坝的高度,并不知道水坝围成了多少个区域,也不知道这些区域当中的形状是怎样的。

还是老规矩,我们先来思考暴力解法。在这题当中暴力解法可能不是非常明显,我们需要仔细分析一下上图当中的数据。

从上图样例当中我们可以看到,这些水坝由于高低不齐,会导致整个水坝中的水并不是一个整体,而是会被分成好几个部分。也就是说我们没办法直接求到结果,而需要对这些部分分别求水的体积,最后相加。

但是我们并不知道水坝中的水会被分成几个部分,所以直接求是不行的,那么有没有什么办法可以确定我们找到了一个完整的部分呢?

我们先把这个问题简化一下,在什么情况下水坝有存储水的能力呢?

如果水坝的高度递增行吗?那如果递减呢?

我们在纸上画一画很容易就想明白,递增和递减都不行,只有先递减再递增可以,也就是下图所示这样。

我们看下上图,水坝的高度先递减再递增,这样两边比较高的水坝就可以拦住一定体积的水。我们再思考一下,如果上图只是所有水坝的一部分,我们可以保证这个部分是完整的吗?显然应该不是,原因也很简单,因为水坝的右侧可能还会出现更高的水坝,如果出现了,那么整个部分的水平面还会提升,也就是说能存下更多的水,也就是下图的情况:

我们对照一下这两张图就可以想明白,当我们从左往右遍历的时候,只有遇到比最左侧的水坝更高的水坝的时候,这个部分才完整。想明白这点就容易了,我们从左往右遍历,维护一个局部最高值,当发现一个比局部最高值相等或更高的值的时候,就说明可以存储一部分的水,并且这部分水是完整的,我们来计算一下围成的水的面积。水的面积也很容易算,我们算出水平面的高度,然后减去水面下水坝的高度即可。

所以我们首先找到这样一个一个完整的水域,计算出每个水域的面积,最后将水域的总面积相加得到最终的结果。

思路是正确的,但是实现的时候会发现有点问题,什么问题呢?我们还拿上面的例子距离,你会发现当我们到达最高点了之后,后面的完整水域切分不出来了,因为没有比最高点更高的了。

在这里插入图片描述

上图当中箭头标的位置是最高点,它的右侧再没有比它高的位置。我们是通过右侧出现大于或者等于它高度的水坝出现作为判断完整水域的条件,如果没有出现,我们就没办法判断究竟完整的水域能够延伸到哪里了。

这个问题比较棘手,我能想到最好的办法是将后面的部分翻转过来重复执行一次同样的操作。这是实现最简单代码最小的方法了。

我们试着写下代码:

class Solution:# 从左往右遍历,找到大于当前最高点的水坝# 计算这块水坝围成的面积def solve(self, height):n = len(height)# 当前最高点和它的下标fstHigh, fstIdx = 0, 0ret = 0for i in range(n):# 如果找到,那么则遍历这个区域计算面积if height[i] >= fstHigh:# 水平线的高度就是左侧水坝的高度# 也就是区域内的第二高度waterHigh = fstHighfor j in range(fstIdx, i):ret += max(waterHigh - height[j], 0)fstHigh, fstIdx = height[i], ireturn ret, fstIdxdef trap(self, height: List[int]) -> int:n = len(height)# 先执行一次ret, idx = self.solve(height)# 如果右侧还有水坝剩余,则翻转再执行一次if idx < n - 1:# Python当中翻转整个数组的语法是[::-1]# [n:-1:-1]不行,也就是第二个下标不能出现-1if idx == 0:cur, _ = self.solve(height[::-1])# idx-1是为了把最高点的下标也包括进来else:cur, _ = self.solve(height[n-1:idx-1:-1])ret += curreturn ret

当然也可以不用翻转,而是换成从右往左遍历,都是可以的。

two pointers

不知道大家理解了暴力解法之后,有没有一个想法,既然我们总可以找到一个最高的水坝(如果出现多个,则认为最右侧的那个最高),那么我们是不是可以根据这个最高的水坝的位置,将整个水库分成左右两个部分,然后从左右两个边界朝着中间收缩呢?

也就是说用和刚才一样的方法划分完整的水域,只不过我们用两个指针从两边一起遍历,一个指针从左往右,另一个指针从右往左。还是一样,当碰到大于等于目前最大值的时候认为是一个完整的水域,计算面积。

似乎这种方法和上面的一样,但其实不然,仔细分析可以发现一个优化的点。

在之前的方法当中,我们并不确定我们从左往右一定可以找到比目前最大值更大的值。很有可能之前找到的最大值就是全局最大的,后面不会有更大的值出现。所以我们必须要等更大的值出现之后才能计算水域的面积。

而两个指针的方法当中,我们每次移动其中较小的那个,这样我们可以保证两个指针相遇的位置就是全局最大值。既然我们可以保证两个指针会相遇在全局最大值,那么移动指针的时候就可以保证后面一定还会有更高的位置出现,那么我们就没必要等找到更大的值之后再计算水域面积了,就可以在当下直接计算了。

我们来看个例子:

在上图的例子当中,r指针的高度是3,大于目前的l,我们需要移动指针l,目前左边遇见的最大值是2。由于l和r没有相遇,所以我们可以保证l的右侧一定还有大于left_max的高度出现,否则该移动的就是r了。所以我们可以保证,left_max之后一定可以构成一个水域,并且这个水域的高度就是left_max。于是我们可以直接计算当前水坝贡献的水域面积,就是left_max - height[l]就等于1.

在这个算法当中,我们控制两个指针移动,当两个指针相遇的时候则结束。可以想明白,我们一共移动了n次,所以这是一个O(n)O(n)的算法,我们来看下代码里的细节:

class Solution:def trap(self, height: List[int]) -> int:n = len(height)l, r = 0, n-1# 用两个变量分别记录左边和右边的最大值lmax, rmax = 0, 0ret = 0while l < r:# 移动高度较小的指针if height[l] < height[r]:# 如果超过左边最大值,则更新if height[l] > lmax:lmax = height[l]# 否则累加当前水坝贡献的面积else:ret += lmax - height[l]l += 1else:# 同理if height[r] > rmax:rmax = height[r]else:ret += rmax - height[r]r -= 1return ret

和上面的代码相比,这段代码要简明很多,看起来也更顺眼。虽然代码简单,但是能把其中的门道想明白并不容易,如果有觉得迷糊的同学可以结合上面的图片再思考思考,举例子作图是思考算法各种情况的王道,这个办法大家一定要掌握。

构造法

如果真的理解了上面的解法会发现上面的解法本质上是将水域进行纵向切分,然后每一块单独累加来计算总面积的,也就是这样:

既然本质都是切分,那么我们能不能不搞那么多花哨的操作直接进行切分呢?当然是可以的,难点只有一个,就是我们需要知道当前的水平面的高度,这个是核心问题。我们之前搞那么多高度比来比去本质也是为了求水平面的高度。

那么有没有什么办法可以直接求到水平面的高度呢?其实是有的,方法很简单也很粗暴。我们分析一下上图,可以发现,对于未知i来说,它的水平面高度是由两个水坝决定的。也就是i两边最高的水坝。

比如对于上图的例子来说,i位置的水平面高度是由它左侧最高的l和右侧最高的r其中较小的那个高度决定的。我们并不关心l和r的下标是多少,我们只关心它的高度。既然如此,我们把所有i左右两侧最高的高度记录下来不就行了?

我相信如果你是自己想到的这个方法,在你想通的那一刻,你一定会觉得自己实在是太机智了。

道理想明白了,编码完全没有难度,我们随手就来:

class Solution:def trap(self, height: List[int]) -> int:n = len(height)if n == 0:return 0ret = 0lmax = [0 for _ in range(n)]rmax = [0 for _ in range(n)]lmax[0] = height[0]# 存储小于等于i的最大值for i in range(1, n):lmax[i] = max(lmax[i-1], height[i])rmax[n-1] = height[n-1]# 存储大于等于i的最大值for i in range(n-2, -1, -1):rmax[i] = max(rmax[i+1], height[i])for i in range(n):cur = min(lmax[i], rmax[i])ret += max(0, cur - height[i])return ret

这个算法同样是O(n)O(n)的复杂度,但是实现起来比上面的还要简单。虽然我们单纯看解法它简单得难以置信,但是能够想到这个简单的解法并不容易,除了需要我们充分理解题意之外,更需要我们有一定的解题技巧和思维灵敏度。

最后,我们来看本篇文章的大菜,也是本题的最后一个经典解法——单调栈

单调栈

在我们介绍具体的算法之前,我们先来看一下单调栈这个数据结构。严格说起来它并不是新的数据结构,只是栈的简单变种

顾名思义,单调栈即栈的元素都是单调的,或者单调递增或者单调递减。由于栈先进后出的特性,显然我们是不能对栈内的元素排序的。我们只能通过弹出来保证栈内元素的有序性,也就是说我们是通过抛弃一些数据来达到有序的,而不是排序。

举个例子,比如说目前栈内的数据是[3, 7, 10]递增排列,栈顶的位置是10。如果我们需要插入16,由于它大于10,所以我们可以直接插入栈顶,栈会变成[3, 7, 10, 16]。如果我们要插入的元素是8,由于它小于10,所以我们会弹出栈顶的10,接着和7比较,发现它大于7,那么插入,得到[3, 7, 8]。也就是说通过单调栈我们可以保证栈内的元素是有序的,以及栈顶的元素是最大或者最小的

利用这两个性质,我们可以解决很多问题。

我们先把单调栈放一边,先回到问题的分析。之前的解法都是纵向切割的水域面积,我们能不能横向切割呢?就像这样:

红框的内容表示以C水坝为右侧挡板构成的面积

C隔成的面积分为两块,一块面积是0,一块的面积是3。面积是0的很好理解,因为宽度为0,面积是3,是因为横截出来的面积高度是1,宽是3。宽度3很好理解,这里的高度1是通过下图当中水坝A和水坝B的高度差值得到的,如下图:

这一切的基点是水坝C,对于水坝C来说,B是离它最近并且最小的,A是次小的。所以它和A隔出的水域的高度是水坝A和B的高度差,而不是A和C的,我想这点应该不难理解。

那么,我们需要一个数据结构维护C之前水坝的高度情况,并且需要这个数据结构里的元素是递增的。另外,当我们计算完C作为右侧挡板形成的面积之后,由于C的出现挡住了它之前所有比它矮的水坝,所以我们需要移除数据结构当中小于C的所有内容

也就是说我们需要数据结构有序,并且需要抛弃小于当前元素的数据。那么显然用单调栈就非常合适。我们在读入C的高度的时候,先弹出B的下标,我们计算它和C之间的水域面积,再弹出A,我们同样计算面积,一直到栈空或者栈顶的元素大于C即可,这时候我们插入C。

对于所有的位置,我们都可以重复以上的操作,我们只需要将隔成的面积累加起来即可。我们可以看下代码,获取更多细节,虽然这个算法看起来麻烦,但是落在代码上并不复杂:

class Solution:def trap(self, height: List[int]) -> int:n = len(height)if n == 0:return 0ret = 0# 单调栈,我们存储的是下标stack = []for i in range(n):# 弹出栈顶小于当前元素的元素while len(stack) > 0 and height[stack[-1]] < height[i]:idx = stack.pop()if len(stack) == 0:break# 水域的宽,即下标差值-1l = i - stack[-1] - 1# 水域的高为当前栈顶的值减去之前栈顶的值ret += l * (min(height[stack[-1]], height[i]) - height[idx])stack.append(i)return ret

光看代码可能会觉得有一点绕,我们需要结合一下上面的图,仔细推导一下过程。由于单调栈并没有涉及元素的排序,并且所有的元素最多只会进栈和出栈一次,所以这也是一个O(n)O(n)的算法。但是相比之下,它的常数要比上面介绍的几种要大一些。

今天的文章就是这些,如果觉得有所收获,请顺手点个关注或者转发吧,你们的举手之劳对我来说很重要。

在这里插入图片描述

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. Mysql - 获取所有部门中当前员工薪水最高的相关信息,给出dept_no, emp_no以及其对应的salary

    注意值分别求得所有部门的最高薪资,在结果中用having 进行过滤 select a.dept_no, a.emp_no, b.salary from dept_emp a, salaries b where a.emp_no = b.emp_no and a.to_date = 9999-01-01 and b.to_date = 9999-01-01group by a.dept_no having max(b.salary);...

    2024/4/17 8:25:46
  2. 积分获取~~

    下载积分攻略: 1. 互相关注送若干积分,具体数量可能会根据规则调整。 2. 个人设置里进行手机绑定CSDN账户 奖励50分 (右上角设置-账户安全-手机绑定) 3. 完成任务送若干分积分 http://task.csdn.net/ 4. 上传有效资源获取积分(上传非法,广告资源用户,将被扣除一定积…...

    2024/4/17 8:25:40
  3. Vue05--v-if、v=show、filters(过滤器)

    v-if v-else-if v-else 条件判断。当其为true是会渲染数据和显示dom元素。否则不会显示。 <div v-if="fSize==10">显示true</div><div v-else-if="fSize<10">显示else </div><div v-else>显示false</div>文本框中的…...

    2024/5/9 14:41:51
  4. hadoop运行任务时一直卡在:INFO mapreduce.Job: Running job

    hadoop运行任务时一直卡在:INFO mapreduce.Job: Running job 1.这是我hadoop求pi 卡死问题,因为yarn的运行内存不足导致问题所在。 解决方法: 在yarn-site.xml中加了: <property><name>yarn.nodemanager.resource.memory-mb</name><value>2048</v…...

    2024/5/9 7:40:58
  5. 《Head First 设计模式》读书笔记——迭代器模式

    让客户遍历我们的数组、堆栈、列表或者散列表时,无法知道我们存储对象的方式,就靠今天的迭代器模式了。 案例 我们有两个餐饮店要合并经营,他们的菜品有共同的地方,所以我们这两个商店类需要一个共同的菜单属性,我们单独创建一个菜单类,如下。 public class MenuItem {St…...

    2024/4/23 14:16:28
  6. Python切换pip镜像源(windows)

    1.windows文件管理器中输入“ %APPDATA% 2.查看目录里有没有pip文件夹,如果没有就新建一个,找到里面的pip.ini文件,没有就自己新建一个。 3.写入如下内容 [global] index-url=http://pypi.douban.com/simple/ [install] trusted-host=pypi.douban.com保存 4.添加环境变量到p…...

    2024/4/23 14:16:30
  7. web前端学习路线

    想要把web前端学习好,那么就应该有自己的学习路线,以下便是我的web前端学习路线...

    2024/4/23 14:16:27
  8. 脱口而出,妙语连珠------读书笔记

    临场发挥来源于日常积累和提前准备聚光灯打在对方身上;从与困难作斗争过程中寻找乐趣;做事态度决定了学习曲线和成败;调整状态RELOCAte放松兴奋充满活力心胸开阔自信重复你肯定能够给出答案,但你的答案往往不完美整就牛!先实操干起来,平时的积累会告诉你怎么做;说错也不…...

    2024/4/23 14:16:25
  9. Django—View+分页

    Viewclass ArticlePulishView(View):def get(self,request):return HttpResponse("文章展示")@method_decorator(check_login)def post(self,request):return HttpResponse("发表文章")class DemoView(View):def get(self,request):object_list = User.obj…...

    2024/4/23 14:16:27
  10. 实现(10).add(10).add(10)

    题目来源:快手面试题Number.prototype.add = function (a) {let value = this.valueOf()function next(num) {value = value + numreturn value}let result = next(a)return result }let a = (10).add(10).add(1)...

    2024/4/23 14:16:23
  11. 堆排序及代码实现

    堆排序 堆的先验知识: 堆的实现通常是通过构造二叉堆实现。当不加限定时,堆通常指的就是二叉堆。 二叉堆一般分为两种:最大堆和最小堆。 最大堆: 最大堆中的最大元素在根结点(堆顶);堆中每个父节点的元素值都大于等于其子结点; 最小堆: 最小堆中的最小元素出现在根结点…...

    2024/4/23 14:16:22
  12. Python程序设计之爬虫读取(1)

    1.网页读取基础 Python3.x主要使用urlib库来读取网页内容! 2.网页内容读取方法 ①使用简单的urlib.request来获取网页内容 import urllib import urllib.request def pa():#请求打开网页fp=urllib.request.urlopen(rhttp://www.python.org)#打印未解码的前100个字符print(fp.r…...

    2024/4/23 14:16:24
  13. SpringBoot 遗忘后的简单快速回忆之自动配置 和自定义属性注入(在最后)

    SpringBoot的自动配置 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rap…...

    2024/4/23 14:16:20
  14. 浮动布局与定位布局

    float 将块级元素显示在一行,脱离文档流,原先位置不保留。浮动在上层。 left 向左浮动元素 right 向右浮动元素 none 默认值,不浮动 inherit 浮动方式继承父元素 清除浮动产生的影响 兄弟元素上使用clear: both; 父元素 overflow:hidden; position stat…...

    2024/3/5 6:26:06
  15. 后端开发之Elasticsearch篇----SpringBoot整合ES

    SpringBoot整合ES sb添加es的依赖和配置 在pom中添加如下依赖,现在的版本2.2.2.RELEASE对es的整合版本是6.4.3 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId><…...

    2024/4/19 23:45:13
  16. React踩坑之输入框rules中的required=true

    你可能跟我一样,输入框必输校验的设置:required=true,下面是一个查询列表中的过滤条件输入框这样单独使用时,是没问题的。但是,如下图,当你有个页面,或者同个页面里,还有一个新增或修改界面,一般同个界面的输入框跟引用界面的输入框,都是用创建的同一个form,在这个新…...

    2024/4/23 14:16:20
  17. 常用分词算法总结(字典、统计、神经网络)

    分词(word tokenization),也叫切词,即通过某种方式将句子中的各个词语识别并分离开来,使得文本从“字序列”的表示升级为“词序列”表示。分词技术不仅仅适用于中文,对于英文、日文、韩文等语言也同样适用。虽然英文中有天然的单词分隔符(空格),但是常有单词与其他标点…...

    2024/5/6 14:41:13
  18. opencv-python:编写个人画板

    需求分析:在一个背景图上(optional) 进行绘制,可以使用圆形刷子或画矩形,也可以使用圆形橡皮;圆形刷子或橡皮可以调整半径;可以保存结果图以及前景图(即去除掉背景);本程序可以用于为图像制作mask,因此也对“将mask作用于图像”进行了实现; 所需库:import osimport sy…...

    2024/4/23 14:16:15
  19. PCB Design Rules﹣width

    PCB Design Rules﹣width(PCB设计规则﹣宽度)是Altium Designer 18中“PCB Rules and Constraints Editor”对话框第二项功能Routing布线的第一个页面,如下图所示。Summary摘要该规则定义了放置在铜(信号)层上的走线宽度。所有设计规则都是在“PCB Rules and Constraints …...

    2024/4/19 9:18:01
  20. shell高级技巧-在循环中使用管道的技巧

    在Bash Shell中,管道的最后一个命令都是在子Shell中执行的。这意味着在子Shell中赋值的变量对父Shell是无效的。所以当我们将管道输出传送到一个循环结构,填入随后将要使用的变量,那么就会产生很多问题。一旦循环完成,其所依赖的变量就不存在了。[root@xieqichao ~]# cat &…...

    2024/4/17 8:26:35

最新文章

  1. TCP 连接,一端断电和进程崩溃有什么区别?

    TCP 连接&#xff0c;一端断电和进程崩溃有什么区别&#xff1f; 前言主机崩溃进程崩溃有数据传输的场景客户端主机宕机&#xff0c;又迅速重启客户端主机宕机&#xff0c;一直没有重启 总结 前言 有的小伙伴在面试腾讯的时候&#xff0c;遇到了这么个问题&#xff1a; 这个属…...

    2024/5/9 17:50:58
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/7 10:36:02
  3. spark on hive

    由于spark不存在元数据管理模块&#xff0c;为了能方便地通过sql操作hdfs数据&#xff0c;我们可以通过借助hive的元数据管理模块实现。对于hive来说&#xff0c;核心组件包含两个&#xff1a; sql优化翻译器&#xff0c;翻译sql到mapreduce并提交到yarn执行metastore&#xf…...

    2024/5/8 2:36:25
  4. GIS与数字孪生共舞,打造未来智慧场景

    作为一名数字孪生资深用户&#xff0c;近日我深刻理解到GIS&#xff08;地理信息系统&#xff09;在构建数字孪生体中的关键作用。 数字孪生技术旨在构建现实世界的虚拟镜像&#xff0c;而GIS则是这一镜像中不可或缺的空间维度框架和导航灯塔。数字孪生的核心是通过数字化方式…...

    2024/5/8 22:48:05
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/8 6:01:22
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/9 15:10:32
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/9 4:20:59
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/7 11:36:39
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/8 20:48:49
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/7 9:26:26
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/8 19:33:07
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/8 20:38:49
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/9 7:32:17
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/9 17:11:10
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57