在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。...首先无论是 i 指针往右移动还是 j 指针往左移动都会导致 w 变小,所以想要能够枚举到更大的面积,我们应该让 h 在指针移动后变大。...不妨假设当前情况是 height[i] < heigth[j](此时矩形的高度为 height[i]),然后分情况讨论: 让 i 和 j 两者高度小的指针移动,即 i 往右移动: 移动后,i 指针对应的高度变小...复杂度为 空间复杂度: 最后 这是我们「刷穿 LeetCode」系列文章的第 No.11 篇,系列开始于 2021/01/01,截止于起始日 LeetCode 上共有 1916 道题目,部分是有锁题
第一阶段 刚工作时, 我就处于初级阶段, 记笔记采用的是最原始的方式,「使用笔记本记笔记」!...第二阶段 在这个阶段, 我已经认识到手写笔记的弊端了,开始用网上的笔记软件写笔记.一开始找了当时排名比较高的印象笔记, 后续使用了这个笔记软件1年多吧.这一阶段主要培养了一下网上写内容 + 使用在线笔记的习惯...俗话说: 「内事不决问张昭,外事不决问周瑜」 , 但咱只能「遇事不决问群友」, 所有我在交流群里问了下大家推荐使用什么软件记笔记, 很多人推荐了「语雀」.经过调研后, 发现它的知识库和小记功能完美符合自己的需求...自己的某一天小记 笔记示例 现在我是这样记笔记的, 首先划分 知识库大类, 方便做第一级索引 将 分组 和 笔记 的标题分别作为第二级,第三级索引 拿 java笔记 做示例, 左边是分组, 基本是根据...里面使用了Markdown语法来做笔记, 然后右侧就会根据Markdown的格式出现相应的大纲.点击对应的标题即可快速跳转到指定知识点.同时尽量附上当时的代码,来解释该知识点.
高考季又到了,测试一下你的智商还在不在线!...作者:陈老师 来源:待字闺中(ID:daiziguizhongren) 题目是这样的: 某科技公司两位科学家(甲、乙)去吃饭,坐在一家酒店靠近街道的窗口座位吃饭,在等待上菜的过程中,闲极无聊,甲向乙出了一道猜三个女儿年龄的题目
WebView启动优化 WebView 首次创建因为 WebView UA 的原因比较耗时,我们可以采用本地缓存的方式解决:WebView UA 记录的是 Webview 的版本等信息,其在绝大部分情况下是不会发生变化的...如果把这两个 Activity 进行合并,我们可以取得两方面的收益: 减少一次 Activity 的启动过程; 利用读取开屏信息和等待广告的时间,做一些与 Activity 强关联的并发任务,比如异步...Android 界面的新工具包。...梳理清楚启动过程中的每一个模块,哪些是一定需要的,哪些是可以砍掉,哪些是可以懒加载的。 对于中低端机器,我们要学会降级,学会推动产品经理做一些功能取舍。 根据不同的业务场景决定不同的启动模式。...《Android Vitals》 可以对应用冷启动、温启动时间做监控。 事实上,每个应用启动的流程都非常复杂,上面的图并不能真实反映每个应用的启动耗时。
考虑到中台的数据量较大,因此整个算法都是基于spark等大数据平台运算;产品特色挖掘方面是结合知识图谱和实体识别建立各个产品的特色部分供业务使用;而图片部分主要是视觉方面的工作包含图片分类、图片搜索、优美度判断等等应用...3.1 预处理过程 在预处理过程中,比较重要的是情感检测模块。在不同的业务场景下,对结果语句的情感要求也随之变化。...具体流程如图10所示,实体识别和知识图谱的综合使用能够全面的获取语句中包含的产品层面的特征信息。 ?...图11 产品特征发现逻辑 3.2.3 类别维度评价 该流程主要包含两个组成部分——维度评价模型和亮点模型,目的是保证抽取的结果具有明显的表达某场景某一方面的情况,并且该语句有着一定的推荐倾向。...具体做法是在encoder端不仅输入常规的语句,还输入一些列的主题关键词,这些关键词是通过LDA模型得来,这两部分都需要和decoder每一步状态做attention;并且再预测端设计两个概率函数进预测
在工作中是怎么做的?说一下具体的实现? 计数器:控制单位时间内的请求数量。...滑动窗口:滑动窗口是对计数器方式的改进, 增加一个时间粒度的度量单位。
好在后面的解释有一句“更高一层的抽象”,可以帮助理解。 其实我们可以这样理解。...假设我们写了一个NB的函数,用来计算一个任意复杂的算数表达式的值: 像1+2, 3*6+10, 什么的都可以交给它去计算。...,所以我们肯定要好好测试一下这个函数了。...又假定我们是用unittest这个module来做测试的。...所以,总结一下。当我们运行这个脚本的时候,这段比较短的代码会针对每一个测试的表达式产生一个新的测试类,并动态生成测试的方法加载到该类里面。unitest从globals中找到这些类并一一执行测试。
下面详细介绍一下: ESLint 由 JavaScript 红宝书 作者 Nicholas C. Zakas 编写, 2013 年发布第一个版本。...NCZ 的初衷不是重复造一个轮子,而是在实际需求得不到 JSHint 团队响应 的情况下做出的选择:以可扩展、每条规则独立、不内置编码风格为理念编写一个 lint 工具。...下面说一下如何配置: 比如,我写vue过程中,出现了下面的warning: WARNING Compiled with 1 warnings11:26:30http://eslint.org/docs...以下是.eslintrc 文件示例和解释:为了方便查看,特记录如下,需要用的规则,到时候直接搜索就可以了,简直开心极了: { "env": { "browser": true,..."blockBindings": true, // 允许使用模块,模块内默认严格模式 "modules": true, // 允许字面量定义对象时,用表达式做属性名
下面详细介绍一下: ESLint 由 JavaScript 红宝书 作者 Nicholas C. Zakas 编写, 2013 年发布第一个版本。...NCZ 的初衷不是重复造一个轮子,而是在实际需求得不到 JSHint 团队响应 的情况下做出的选择:以可扩展、每条规则独立、不内置编码风格为理念编写一个 lint 工具。...下面说一下如何配置: 比如,我写vue过程中,出现了下面的warning: WARNING Compiled with 1 warnings11:26:30 http://eslint.org/docs...以下是.eslintrc 文件示例和解释:为了方便查看,特记录如下: { "env": { "browser": true, "node": true, "commonjs..."blockBindings": true, // 允许使用模块,模块内默认严格模式 "modules": true, // 允许字面量定义对象时,用表达式做属性名
首先做自我介绍;提问35分钟。 提问问题 介绍一下本、硕期间处理栅格数据有关的项目,其中具体做了什么? 介绍一下本、硕期间处理矢量数据有关的项目,其中具体做了什么?...C++有哪些数据结构、表达式类型、变量类型、数据类型?关系表达式都有哪些? C++的int类型变量大小是多少个字节,short、long与double类型又是多少呢? C++的循环可以有哪些方式?...无需做自我介绍;提问10分钟。 提问问题 本科、研究生期间的实习,哪些是自己找的,哪些是学校对接参与的? 滴滴的实习目前还在进行吗?这一实习主要是做什么的?用了哪些代码语言?...无需做自我介绍;提问25分钟。 提问问题 个人在GIS开发方面的经历如何?有哪些技术积累? 目前都有哪些Offer了?都是哪些公司?你相对比较有意愿的是哪一个? 你的期望薪资为多少?...课题组都可以接到哪些级别的的项目,具体举例说明一下? 研究生期间做的项目都是和RS关系比较大的,而现在的岗位是GIS;为什么投递GIS方向的岗位?
Beautifulsoup干什么的呢?...你用urllib2把网页down下来了之后,里面都是html+css什么的,你想要从乱七八糟的一堆html里面找到正确的图片链接那可不是件简单的事,据我这几天的学习,做法无非两个,一个是自己写正则表达式然后用一个叫...li class=”span3” 搜索一下,我们发现有20个结果.恰巧,我们这个页面的图片也只有20个,那么可以确定的是我们找到了区别于其他标签的唯一性....再仔细分析下,img这个标签在li这个标签里有且只有一个.那么,也就是说,我们先搜索出所有符合条件的li标签,然后找到里面的img标签就可以找到所有的图片链接了. 然后看代码....我们来一句一句分析下.其实python的语法超级简单. 凡是#打头的就是python里面的注释语句类似于oc里的//.
大家好,又见面了,我是你们的朋友全栈君。...花了四天时间做了一个简单的web聊天室 前端页面效果大概是下面这个样子 1.登陆界面 2.注册界面 这里首先会检查用户名是否重复, 如果重复,会提示你用户名已存在 反正显示可用...然后在下面可用选择对谁说以及一些文字表情,字体颜色什么的 4.聊天功能 会显示发送者名称,以及对谁说,语气词,以及发送时间 最后总结一下做的过程中遇到的一些坑 1.session...当我再一次登陆了一个用户,前面那个session就会被后面的顶替掉。...2.el表达式从域对象中取值 由于博主好久没有用jsp写过页面了,也就忘了怎么取值了,这里记录一下 3.spring整合mybatis 没想到spring中使用mybatis可以这么方便,学到了。
awk是Linux三剑客之一,在我们处理文件等方面还是特别方便的 介绍 我们先来说一说awk是用来干什么的,awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时...用法 awk命令是由模式和动作的组合组成的 awk [options] 'pattern {action}' file 模式,pattern,可以理解为sed的模式匹配,可以由表达式组成,也可以是两个正斜杠之间的正则表达式...动作,action,是由在大括号里面的一条或多条语句组成,语句之间使用分号隔开。...通俗来说pattern就是找谁,action就是干啥 awk处理的内容可以来自标准输入(<),一个或多个文本文件或管道 实践 我们先准备一个文件来用来进行后面的测试 ?...这里再解释一下那个BEGIN是做什么的 BEGIN{}: 读入第一行文本之前执行的语句,一般用来初始化操作{}: 逐行处理END{}: 处理完最后以行文本后执行,一般用来处理输出结果 接下来再说一下正则表达式的应用
什么是中缀表达式 就像我们平时用到的大部分计算表达式都是中缀 比如 1+1 3*2 等等 中缀表达式虽然很方便人使用,但是对机器却不太友好 比如我要计算(1+1)*3+2...机器将怎样区分操作符的优先级,机器不是人,机器是很傻的,所以我们要提供一种新的算法,让机器无脑就可以算。...这个意思不是把所有运算符放到数字后面,比如我们举个例子,(3+4)×5-6 有括号的肯定要先算括号里面的所以我们先括号 再乘 最后再减 转换后缀表达式的结果是34+5*6- 为什么说机器好算呢!...因为是后缀所以从左往右看,遇到符号我们就把前面的操作数根据这个操作符计算,34+就是7 那么现在表达式是75*6- 75* 就是35 最后35-6= 29 从左往右遇到操作符就算,是不是很无脑,你也不用管优先级什么的...现在只是简单的介绍一下。 前缀表达式 也叫波兰表达式,这个就不需要解释什么了,跟后缀是一个道理,区别是我们要把操作符根据优先级往前提,计算的时候通过表达式从右往左扫描,遇到运算符就计算。
于是做了一下基本的配置 "eslintConfig": { "root": true,////此项是用来告诉eslint找当前配置文件不能往父级查找 "env": { "node...": true//此项指定环境的全局变量,下面的配置指定为node环境 }, "extends": [// 此项是用来配置vue.js风格,就是说写代码的时候要规范的写,如果你使用vs-code...{//规则配置写在这里 "indent": [1, 4] }, "parserOptions": { "parser": "babel-eslint"//此项是用来指定...eslint解析器的,解析器必须符合规则,babel-eslint解析器是对babel解析器的包装使其与ESLint解析 } } 做完这个配置以后,顺带了解了一下eslint的语法检测和基本的配置规则...//禁止使用八进制转义序列 "no-param-reassign": 2,//禁止给参数重新赋值 "no-path-concat": 0,//node中不能使用__dirname或__filename做路径拼接
——丘吉尔 笔试简单聊一下吧~我记得好像是4部分,第一部分是简答题,一共3题,都是业务分析,第一题是数学计算,好像是一款app,给了第一天日活,目标是30天后日活达到D30,第x天的留存率是Rx,要推出这...30天内日均新增人数表达式; 第二题业务场景题,分析app广告点击率低,怎么量化分析,提建议,怎么解决。...一开始自我介绍,楼主暑假正好在某互联网金融公司做过数据分析师的实习,然后面试官就让我介绍了下这段经历,然后问我如果让我选3个最重要的分析指标去衡量我做的东西,我会选什么。思考了一下,然后答了一下。...没问项目,问了实习经历,因为我写了我实习中做了个漏斗数据监控,然后问了我这个是什么,怎么回事,怎么实现,我还写了超额完成kpi什么的,问我怎么协助达成什么的;简历问答持续了二十多分钟吧。...我思考了一下,然后balabala聊了一下。 三面: 过了大概二十多分钟吧,收到三面通知。 好像这次是部门大佬面的,全是业务场景问题。
直接一次性输出 下面的代码是一次性输出一个很长的列表。 ? 代码运行之后先看一下内存占用。 ?...到这里为止,前面讲的东西不管你是做什么的,一定要懂!!!(不懂加群,群号加群方式见文末)之后的讲的只要Python程序员会就行了。...这样做的目的也正是节约了内存空间。 但是问题还是有的,range只能有规律的迭代,而且只能是整数。如果数据不是整数难道就必须创建列表了吗?并不是,该介绍接下来的主角——迭代器!...生成器表达式 没有函数还是可以使用生成器,只不过和使用迭代器iter没有太大区别,创建生成器对象很简单,这里使用的是生成器表达式,只需要把列表推导式的中括号改成小括号。...列表推导式:a = [i for i in range(10)],a是一个列表对象。 生成器表达式:a = (i for i in range(10)),a是一个生成器对象。
corn表达式 最近做定时任务的测试,接触到corn表达式,简单的总结一下: 首先让我们了解一下corn是什么 cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业 用来做什么的...如何使用 Corn表达式是一个字符串,分为6个或者7个部分(年可以不加),每个部分代表的意义如表所示: 元素 秒 分钟 小时 天 月 星期 年(可选) 取值范围 0~59 0~59 0~23 0~31...只能用在天和星期的部分 例如用在天的部分5L表示倒数5天;用在星期部分,5L表示这个月的最后一个星期四 W 表示有效工作日(周一到周五),只能出现在天的部分 例如:5W 如果5号为星期六,那么就在4号触发,如果5号是星期日...另附:在线生成corn表达式地址http://cron.qqe2.com/ 希望对你有所帮助
1、什么是正则表达式? 2、为什么要学习正则表达式? 人类在做一件事之前,总是会先问一下为什么要这么做『你可能说你没有这么想过,我想说的是其实你下意识已经考虑过了』。...其实问为什么的时候,既是给我们做这件事的原因,也是我们遇到困难时坚持下去的动力。 那么我们先来看下我们今天的这两个问题。 什么是正则表达式?...从以上正则表达式解决的问题,我们可以通过正则表达式来实现编辑器中的查找与替换功能、文件浏览器的文件搜索功能、网络爬虫等等,总结一下正则表达式的应用场景有两个一是搜索、二是替换。...Python 提供了专门用于处理正则表达式的模块——re 模块,它提供了与 Perl 语言类似的正则表达式匹配操作。接下来我们一块来看一下如何使用 re 模块来实现搜索和替换。...现在我们要从上面的文本中提取出所有的 email 地址。
python -i m.py 在解释器下抛出更多的细节 索引通过最前面的偏移量进行编码 从0开始 负向是反向索引 负向索引可以简单与字符串的长度相加 ---- []内可以加任意的表达式,不只是放数字这么简单....python 的语法在这一方面是通用的....分片,切片(slice) ---- 最好的解释方法就是用字符串了,基本形式就是这样的X[I:J]取出在X中从偏移量为I到偏移量到J单不包括J本身的内容.然后返回一个新的对象.上面的例子是从S里面从1到(...,你对字符串做的所有的操作,都是对复制过得一个克隆串 虽然你不可变但是你总可以建立一个新串来对同一个变量进行操作 因为执行过程会不停的回收资源 ---- python中的每个对象都是被认为是 在核心里面...一些常用得字符串操作 看看可以执行得操作方法 格式化操作 代表得字符串对象得实现方式 dir函数查询方法是做什么的 几种 ---- python也支持原始字符串(raw)字符串得字面量,即去掉反斜线转义机制
领取专属 10元无门槛券
手把手带您无忧上云