章述:我,一个程序员的“白日梦”,一行代码解决一个需求;
吐槽:代码逻辑繁琐,脑细胞支撑不了
CSS(clamp)
场景:可能有一天你会想用一个css属性搭建一个自适应的项目(可能性还是比较小的。。。。但是确实存在实现该需求的东东)
使用 clamp() CSS函数,我们可以创建仅具有一个属性的响应式网站。
用法:
clamp(minimum, preferred, maximum);
三个属性:(属性值的类型不确定:px/%/vw/rem……等等)
minimum 最小值:例如 16px
flexible 弹性值/首选值:例如 5vw
maximum 最大值:例如 34px
h1 {
font-size: clamp(16px, 5vw, 34px);
}
在此示例中,仅当该值大于 16px 且小于 34px 时,h1 字体大小值将为视口宽度的 5%。
简单举例:
例如,如果你的视口宽度是 300px,你的 5vw 值将等于 15px,但是,你将该字体大小值限制为最小 16px,因此这就是将要发生的情况。
另一方面,如果你的视口宽度为 1400px,则 5vw 将高达 70px!但幸运的是,你将该最大值限制为 34px,因此它不会超过该值。
一句话:比小取小,比大取大
Lodash
社区链接:https://luatdoc.papapoi.com/1730/
官网链接:https://www.lodashjs.com/
”窗口滑动类“
滑动窗口主要思路是维护一对指针,在一定条件内右移右指针扩大窗口大小直到窗口内的解不满足题意,此时我们需要根据情况移动左指针,重复移动左右指针的操作并在区间内求解,直到双指针不能再移动。
d:寻无重复最长子串长度
1 | var lengthOfLongestSubstring = function(s) { |
通用解法
1 | let left = 0 |
右指针右移后数据的更新
判断窗口何时需要缩小
左指针右移后数据的更新
根据题目求最优解