获得徽章 0
- #开个脑洞#
宇宙是没有尽头的。
今天看到一本书,叫《宇宙尽头的餐馆》,就想到,宇宙究竟有没有尽头呢?
首先,拿二维来说,二维世界中可不可以没有尽头呢?可以。
举个例子,气球表面,它是一个二维的面,但是其中的任何一个点往任意方向一直往前走,永远也走不到尽头。
但是气球的面积是有限的。
所以,宇宙是不是也一样呢?只不过他是三维的无尽但有限。
在气球上要精确的确定一个点,只能用三个坐标。那对于宇宙来说,要精确的确定一个点,是不是就需要四个坐标呢?
众所周知,不管多少维,两个点的直线距离等于各个坐标差的平方和开根号。所以,宇宙中精确的两个点的距离是不是应该还得加上那第四个参数的部分呢?
但是经过实际测量,好像距离就等于xyz差值的平方和开根号,并不设计到第四个参数。
所以,会不会是那个参数的差值在我们人类可测范围内一直是零呢?
换句话说,我们人类始终生存在第四个参数不变的空间里。
我想,这也是对于高维的一种解读吧。展开赞过51 - 42.接雨水
给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后接多少雨水。
图一是由数组[0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1]表示的高度图,在这种情况下,可以接6个单位的雨水(蓝色部分表示雨水)
例:
输入:[0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1]
输出:6
思路:
1. 找到最大值所在的索引
2. 找到所有的顶点索引
注1:定点索引处的值比相邻两个数大(或等于),并且在最大值左边升序,在最大值右边降序;
注2:最大值左边的顶点需从左往右寻找,最大值右边的顶点需从右往左寻找,否则右边部分的索引会有问题;
3. 根据所有的顶点索引计算水量
具体细节见注释。
反思:虽然时间复杂度还行,但是代码写的太复杂了,不容易阅读。leetcode上同样复杂度的代码更加简洁,像他们看齐。展开赞过评论3 - 阿瑶一到公司,所有开发人员便都看着他笑,有的叫道,“阿瑶,你又开始抄袭别家的产品了!”她不回答,对开发说,“这里需要点击的时候浮动到最顶端,这个地方得加一个菜单。”便拿出了需求文档。他们又故意的高声嚷道,“你这个需求一定是抄袭的别人家的后台系统吧!”阿瑶睁大眼睛说,“你怎么这样凭空污人清白……”“什么清白?我前天亲眼见你对着新浪家的后台管理系统,一个功能一个功能的抄。”阿瑶便涨红了脸,额上的青筋条条绽出,争辩道,“借鉴不能算抄……借鉴!……产品的工作,能算抄么?”接连便是难懂的话,什么“产品思维”,什么“用户体验”之类,引得开发们都哄笑起来:公司里充满了快活的空气。展开等人赞过1117
- 41.缺失的第一个正数
给定一个未排序的整数数组,找出其中没有出现的最小的正整数。
例1
输入:[1,2,0]
输出:3
例2
输入:[3,4,-1,1]
输出:2
例3
输入:[7,8,9,11,12]
输出:1
注:时间复杂度不许超过O(n),且只能使用常数级别的空间。
思路:
一开始的用int的各个位来确定数组中存不存在索引值,但是考虑到int只有32位,所以最多只能表示32个数。于是作罢。
但是思路还是这个思路,首先构造一个数组(用boolean的原因是所占内存最小),利用索引值处的value表示输入数组中包不包含该数字,最后遍历数组即可。
注意:构造的数组长度不需要超过给定数组长度+2。展开赞过评论3