Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >20181111_ARTS_week20

20181111_ARTS_week20

作者头像
Bob.Chen
发布于 2018-12-12 01:53:03
发布于 2018-12-12 01:53:03
70200
代码可运行
举报
运行总次数:0
代码可运行

本周算法题 Letter Combinations of a Phone Number,看了一篇介绍 :empty 和 :blank 为选择器的文章,分享了 vue 工程编译生产版本时添加图片压缩的方法,分享了一点关于买专栏的想法。

Algorithm

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * 
 * Letter Combinations of a Phone Number
 * https://leetcode.com/problems/letter-combinations-of-a-phone-number
 * 
 * @param {string} digits
 * @return {string[]}
 */
var letterCombinations = function (digits) {
    const mappings = {
        '2': ['a', 'b', 'c'],
        '3': ['d', 'e', 'f'],
        '4': ['g', 'h', 'i'],
        '5': ['j', 'k', 'l'],
        '6': ['m', 'n', 'o'],
        '7': ['p', 'q', 'r', 's'],
        '8': ['t', 'u', 'v'],
        '9': ['w', 'x', 'y', 'z']
    };

    if (!digits || digits.length === 0) return [];
    if (digits.length === 1) {
        return mappings[digits];
    }

    let result = [];
    let set1 = letterCombinations(digits.substr(0, 1));
    let set2 = letterCombinations(digits.substr(1));

    for (let i = 0; i < set1.length; i++) {
        for (let j = 0; j < set2.length; j++) {
            result.push(set1[i] + set2[j]);
        }
    }

    return result;
};

console.log(letterCombinations("23"))

还挺有意思的一个题目,因为输入的位数不确定,用递归把每个数拆出来,搞定。

Review

When to use the :empty and :blank CSS pseudo selectors

https://medium.freecodecamp.org/empty-and-blank-53b9e96151cd

作者介绍了 :empty:blank 两种 CSS 伪选择器。 简单来说, :blacnk:empty 好用,因为 :blank 可以忽略元素间的换行或者空格之类的,:empty 就必须要两个元素中没有东西才能匹配上,比如 <ul></ul>,所以 :empty 的适用性没有 :blank 强,但是 :blank 的兼容性没有 :empty 好,基本只有 FireFox 能支持(惨)

Tip

vue-cli 打包编译时 -webkit-box-orient: vertical 消失的解决办法。

这周遇到个很奇怪的问题,vue 项目 dev 的时候没问题,到编译 prod 版本之后 -webkit-box-orient: vertical 属性就被删掉了,造成页面显示混乱。

dev 版本 ok,prod 版本有问题,那问题肯定出在 webpack.prod.conf.js 里,差异点是 prod 版本会对 css 压缩,使用的是 optimize-css-assets-webpack-plugin 这个插件。

既然问题找到了,解决方案自然呼之欲出。

最好的方案是修改 package.json 文件中的 browserlist 字段,这个会涉及 autoprefixer 的行为。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// package.json 源配置
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8"
  ]

  // 修改为
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8",
    "ios >= 8",
    "Android > 4.1"
  ]

告诉 autoprefixer 我们要兼容 iOS 8 还有 Android 4.x,让它别乱删我们的东西。

然后重新编译,就搞定了。

当然,你把 optimize-css-assets-webpack-plugin 的配置注释调也可以,但是个人不建议这样做,因为各个组建间难免有重复的样式代码,或者共同引用同一段样式的,如果没有 optimize-css-assets-webpack-plugin 会有大量冗余代码。

Share

这周双11,极客时间也做了不少活动,专栏打折力度也挺大的。其实对于学习这件事情还是要有辨别能力,虽然我一般会先看看介绍,试读,然后瞄一下目录看看是否是自己感兴趣的话题,但也买到几个感觉内容比较水的专栏。

慢慢自己也摸索了一个『指导原则』。涉及具体语言基础知识的要好好考虑,比如小程序之类的,自己看文档完全可以搞定的,就不要再去买专栏了。

学习是一件好事情,但不要用战术上的勤奋去掩盖战略上的懒惰,多学通用思想,不要拘泥于一两门语言,或者一两个工具框架。

祝双十一快乐

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-11-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
webpack 打包编译有些CSS样式莫名消失?
相信很多小伙伴已经遇到过了,在使用webpack构建项目(npm run build),部署项目后,会发现有些CSS样式丢失了,比如:
Javanx
2019/09/04
3K0
webpack 打包编译有些CSS样式莫名消失?
Vue项目笔记(持续更新)
使用一个Vue实例作为中央事件总线。 Vue内部有一个事件机制,可以参考源码。 $on方法用来监听一个事件 $emit用来触发一个事件。
杨肆月
2019/08/15
1.3K0
Vue项目笔记(持续更新)
vue3+webpack项目搭建实验
在 postcss.config.js中配置 autoprefixer用于给css加前缀, cssnano用于压缩优化css
治电小白菜
2020/08/25
2.7K2
【Leet Code】17. Letter Combinations of a Phone Number
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
韩旭051
2019/11/08
4740
搭建webpack项目框架
随着业务发展和前端人员的增加,搭建一个通用框架以及制定统一规范就成了必然。对于选型这方面,一开始好像就没考虑其他框架,直接选了webpack。webpack的优点就不多说了,可扩展性,强大的npm插件库,说干就干。
jojo
2019/03/12
2.4K0
搭建webpack项目框架
Webpack4 搭建 Vue 项目
由于 Parcel 打包工具的影响,webpack4 也追求零配置搭建项目。而前阵子出现的 vue-cli 3.0也是基于 webpack4 零配置的思想创建的。对于一些习惯webpack3 的开发者难免有些不习惯。本文就带你绕过 vue-cli,用 webpack4 一步步搭建 vue 项目。
小皮咖
2019/11/05
1.1K0
手把手带你使用webpack4构建一个Vue开发编译环境,并实现代码分割,css代码分离
本篇文章不会细致讲webpack生产编译方面的优化操作,主要点是为了区分开发与生产环境的区别,代码分割分离的操作,所以不建议各位使用本篇文章内配置内容去进行生产编译,生产编译其它优化细节请各位自行另加配置,当然本篇文章配置也不是不能用作生产配置,只是给各位一个建议~
吴佳
2022/09/26
8790
20181118_ARTS_week21
这题一开始一直没思路,然后看了 leetcode 的讨论,这个解法还是比较精妙的,用两个指针,然后距离就是 n,等到最后一个碰到末尾,要踢掉的元素就是 前一个指针的后一位。
Bob.Chen
2018/11/19
5960
vue-cli 脚手架中 webpack 配置基础文件详解
vue-cli是构建vue单页应用的脚手架,输入一串指定的命令行从而自动生成vue.js+wepack的项目模板。这其中webpack发挥了很大的作用,它使得我们的代码模块化,引入一些插件帮我们完善功能可以将文件打包压缩,图片转base64等。后期对项目的配置使得我们对于脚手架自动生成的代码的理解更为重要,接下来我将基于webpack3.6.0版本结合文档将文件各个击破,纯干料。
前端教程
2018/07/27
1.4K0
Leetcode 17 Letter Combinations of a Phone Number
Given a digit string, return all possible letter combinations that the number could represent. A ma
triplebee
2018/01/12
5390
Leetcode 17 Letter Combinations of a Phone Number
回溯——17. 电话号码的字母组合
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。
向着百万年薪努力的小赵
2022/12/02
3390
回溯——17. 电话号码的字母组合
【LeetCode】Letter Combinations of a Phone Number
【LeetCode】Letter Combinations of a Phone Number 题目 在手机九宫格键盘上输入一串数字,给出可能打印出来的字符串的集合。 分析 先做一个map将数字映射到键盘上相应的字母集合。 把按键顺序看成深度优先遍历的深度,每次dfs将深度d+1直到d=按键字符串的长度未知,此时即完成了一次按键可能的输出。 实现 static Map<Integer, Character[]> map = new HashMap<Integer, Character[]>();
felix
2018/06/12
7770
LeetCode 0017 - Letter Combinations of a Phone Number
Given a digit string, return all possible letter combinations that the number could represent.
Reck Zhang
2021/08/11
2340
webpack入门级 - 从0开始搭建单页项目配置
webpack 作为前端最知名的打包工具,能够把散落的模块打包成一个完整的应用,大多数的知名框架 cli 都是基于 webpack 来编写。这些 cli 为使用者预设好各种处理配置,使用多了就会觉得理所当然,也就不在意是内部是如何配置。如果脱离 cli 开发,可能就无从下手了。
WahFung
2020/12/21
1.5K0
webpack入门级 - 从0开始搭建单页项目配置
016. 最接近的三数之和 | Leetcode题解
由于要求所有的可能性,因此考虑使用回溯法进行求解。回溯是一种通过穷举所有可能情况来找到所有解的算法。如果一个候选解最后被发现并不是可行解,回溯算法会舍弃它,并在前面的一些步骤做出一些修改,并重新尝试找到可行解。究其本质,其实就是枚举。
苏南
2020/12/16
4660
016. 最接近的三数之和 | Leetcode题解
LeetCode 16-20 题 详解 Java版 ( 万字 图文详解 LeetCode 算法题16-20 =====>>> <建议收藏>)
遍历所有的情况,然后求出三个数的和,和目标值进行比较,选取差值最小的即可。本以为时间复杂度太大了,神奇的是,竟然 AC 了。
猫头虎
2024/04/07
1170
LeetCode 16-20 题 详解 Java版 ( 万字 图文详解 LeetCode 算法题16-20 =====>>> <建议收藏>)
【前端词典】提高幸福感的 9 个 CSS 技巧
在这篇文章我会介绍 9 个使你的 CSS 更加简洁优雅的使用技巧。这些技巧小生经常使用,觉得挺高效实用,所以也就有了这篇文章。
小生方勤
2019/05/31
7160
【webpack】从vue-cli 2x 到 3x 迁移与实践
左图项目结构为vue-cli 2x版本脚手架生成的项目,build文件夹包含了webpack配置
树酱
2020/07/03
1.1K0
详解 Vue 目录及配置文件之 build 目录
1.1 项目目录介绍 目录/文件 说明 详解 build 项目构建(webpack)相关代码 详解 config 配置目录,包括端口号等 详解 node_modules npm 加载的项目依赖模块 详
Demo_Null
2020/09/28
2.5K0
详解 Vue 目录及配置文件之 build 目录
LeetCode 刷题笔记——递归与回溯的理解
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ajianyingxiaoqinghan/article/details/79682147
剑影啸清寒
2019/05/26
3.2K0
相关推荐
webpack 打包编译有些CSS样式莫名消失?
更多 >
加入讨论
的问答专区 >
1技术总监架构部总经理擅长3个领域
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档