面试

LeetCode 图解 | 36.有效的数独

时光总嘲笑我的痴心妄想 提交于 2021-02-16 19:29:17
点击关注上方“ 图解面试算法 ”, 设为“置顶或星标”,一起刷 LeetCode。 作者:孤磊 题目来源于 LeetCode 第 36 号问题:有效的数独. 题目 判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 示例 1: 输入: [ ["5","3",".",".","7",".",".",".","."], ["6",".",".","1","9","5",".",".","."], [".","9","8",".",".",".",".","6","."], ["8",".",".",".","6",".",".",".","3"], ["4",".",".","8",".","3",".",".","1"], ["7",".",".",".","2",".",".",".","6"], [".","6",".",".",".",".","2","8","."], [".",".",".","4","1","9",".",".","5"], [".",".",".",".","8",".",".","7","9"] ] 输出: true 示例 2: 输入: [ ["8","3",".",".",

3 分钟看懂如何判断括号的合法性

妖精的绣舞 提交于 2021-02-16 18:50:28
点击上方 蓝字 设为星标 东哥带你手把手撕力扣~ 作者:labuladong 公众号:labuladong 若已授权白名单也必须保留以上来源信息 对括号的合法性判断是一个很常见且实用的问题,比如说我们写的代码,编辑器和编译器都会检查括号是否正确闭合。而且我们的代码可能会包含三种括号 [](){} ,判断起来有一点难度。 本文就来聊一道关于括号合法性判断的算法题,相信能加深你对 栈 这种数据结构的理解。 题目很简单,输入一个字符串,其中包含 [](){} 六种括号,请你判断这个字符串组成的括号是否合法。 Input: "()[]{}" Output: true Input: "([)]" Output: false Input: "{[]}" Output: true 解决这个问题之前,我们先降低难度,思考一下, 如果只有一种括号 () ,应该如何判断字符串组成的括号是否合法呢? 一、处理一种括号 字符串中只有圆括号,如果想让括号字符串合法,那么必须做到: 每个右括号 ) 的左边必须有一个左括号 ( 和它匹配 。 比如说字符串 ()))(( 中,索引为 2 和 3 的两个右括号 左边 就没有左括号匹配,所以这个括号组合是不合法的。 所以我们可以一边遍历一边记录遇到左括号的个数,每次遇到右括号就匹配一个左括号数。根据这个思路,我们可以写出算法: bool isValid (

​LeetCode刷题实战36: 有效的数独

白昼怎懂夜的黑 提交于 2021-02-16 17:58:37
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家聊的问题叫做 有效的数独 ,我们先来看题面: https://leetcode-cn.com/problems/valid-sudoku/ Determine if a 9x9 Sudoku board is valid. Only the filled cells need to be validated according to the following rules: Each row must contain the digits 1-9 without repetition. Each column must contain the digits 1-9 without repetition. Each of the 9 3x3 sub-boxes of the grid must contain the digits 1-9 without repetition. 题意 判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的

阿里巴巴HR面+技术6面,已拿P6+offer,复盘十月份阿里面经总结!

懵懂的女人 提交于 2021-02-16 17:21:09
前言 这次去阿里面试的是我老东家的好朋友,我们之前都是一个项目组的,一起吃饭,一起洗脚,一起。。。 他们公司最近也裁员了,不过他是裁员前去的阿里,不知道谁捞到他简历了,莫名就走了流程,他莫名的就面了7轮过了。 他想着行情这么不好,要不就去了,去了之后,他们公司就裁员了。。。 总之今年大环境真的很差,大家都时刻做好准备,我朋友简历上是写了精通dubbo的源码,所以你们会发现,面试中dubbo的问题很多,他面经写得算是比较简单,但是真实问的过程肯定会扣肯定细节。 正文 面试总共花费20天左右,包含4轮电话面试、1轮笔试、1轮主管视频面试、1轮hr视频面试 第一轮 电话面试(基础知识为主,约2小时): 1,先自我介绍,包含日常工作 2,基础知识 1)多线程(ThreadLocal(问了父子线程怎么共享数据 interitableThreadLocals)、lock和sync区别(问HashMap1.7、1.8区别时带出)、AQS原理(执行过程源码,入队出队的细节,源码细节)、CountDownLatch和CyclicBarrier的区别是什么源码级别、volatile从指令重排序,内存屏障,聊到总线风暴)所占比重较大 2)数据库(mysql索引(聚集索引、非聚集索引、索引结构(顺带会问各种树的特性)、执行计划、count1*区别、举例优化sql、MVCC和事务隔离级别的关系、间隙锁、行锁

为什么你该这么提问

三世轮回 提交于 2021-02-16 17:02:10
每天都有不少人通过微信向我提问题,当然不是每个问题我都会回答的,一个原因是我平时很忙,而且问我问题的人也不少,所以我只会抽一部分问题来回答,另一个原因是有些人没掌握提问题的技巧,导致沟通效率太低,这部分问题我也不会回答的。为了提高沟通效率,我觉得有必要分享下如何高效率地提问题,这些技巧放在人际交往上,也是适用的。 谦虚礼貌,找好时机。第一点不用多说了,这是最基本的社交礼仪。在提问之前可以先问好,再请教。如果恰巧对方在忙,也请保持耐心,不要进行消息轰炸,试问如果对方正在开会,看到你发的一连串的信息是什么感受?当然也不要恶语相向(还真有这样的人),毕竟没人有义务帮你解决问题。还有就是要找好时机,尽量在对方可能有空的时间段提问,切记不要在工作时间或者休息时间提问,别问我为什么。 开门见山,直切要害。没有多余的寒暄与铺垫,上来就直奔主题,这样可以节省很多沟通成本。问问题最忌讳的一点是以“在吗”开头,说实话一看到这种消息,我即使有空也很少去回答的,因为沟通成本实在太大了。你说我回你“在”吧,结果你不在了,等到你“在了”我可能又忙其他事情去了,这样一来一回几小时就过去了。有些人可能觉得一上来就问问题是不是太直接了。其实不然,在我看来只有在跟久未联系的老朋友聊天时才需要通过寒暄了解对方的近况,如果只是单纯地想解决问题,越直接越好。 简洁明了,突出重点。说白了就是跟问题相关的信息点要越详细越好

我的2018:OCR、实习和秋招

余生颓废 提交于 2021-02-16 13:16:10
真的是光阴似箭,好像昨天还沉浸在考研成功的喜悦,今天却要即将步入2019年,即将硕士毕业。老规矩,还是在每一年的最后一天总结今年以及展望明年。回首2018,经历的东西特别多,视野也开阔了不少,可以说,2018是丰收的一年。如果用三个关键词来描述我的2018,那无疑是:OCR、实习和秋招。 2018是研究生成长极快的一年,年初把研一上学期一直专注的研究整理成两个发明专利并成功公开,算是很早就达到了学院的毕业要求,所以在接下来的研究生生涯里可以花更多的时间放在自己感兴趣的领域深入探索,以及可以有充足的时间尝试新的想法。在研究生初期一直在专研传统计算机视觉的东西,无论是图像拼接还是图像特征点,都是偏向于传统方法。研究生中期逐渐转向了深度学习,尤其一直专注于OCR领域,并在这个领域探索了不少时间,从文本检测到文字识别,再到端到端的文本识别,再到近期研究的特定领域的文字识别。OCR构成了我2018研究生生涯的关键词,基本的精力都放在这里了,这期间也在博客园写了不少关于OCR的文章,貌似反响也不错。现在比较大的想法是,OCR近年来的进展非常迅猛,是在一些特定场景落地的好时期,刚好自己也在文字识别这个方向有所积累,所以也想把OCR技术应用到一些生活场景中,解决生活中的一些难题。12月也是我毕业论文开题的时间点,我也毫不犹豫地选择了OCR算法研究作为我的毕业论文方向,我觉得

2018某二本的秋招流水帐

爱⌒轻易说出口 提交于 2021-02-16 12:21:36
本文地址: http://www.cnblogs.com/maplefighting/p/7906789.html 某二本财经类弱校,acm省赛拿了两次银,icpc,ccpc打了两年铁,无实习。目标:互联网公司 大二三主要刷电影,看小说,玩acm以及搞绩点 (至今也不清楚绩点除了拿点学校的钱之外还有什么用,拿过二等奖学金等) 大三第二学期被队友拖出去打多一次省赛,所以准备了下,就没春招,想想还是很亏啊!! 后面觉得再不学习真的会找不到工作的,所以五六月就开始看书了。大概看了四个月吧,断断续续的 面经 内推阿里(简历评估面挂) 问了基础的东西,基本都是我在说,感觉还好,后面问了个maven如果让你设计,你会怎么设计那些依赖,胡乱回答了下gg,阿里招不多,而且貌似招的得会大数据啊那些的,不过阿里恨不得把全国学生面一遍,有投就有得面 拼多多(一面挂) 拼多多在广州有设点招聘,但是流程有点乱,到那里的时候一个面试官过来和我聊了聊基础,然后两个hr过来问情况,接着居然说二面面试官不在,先回校等通知,然后就没有然后了 网易(一面挂) 约了十一点,以为能蹭一顿饭呢,之后发现我想多了,问了死锁,手机4g访问网站(这个居然是要问我基站什么什么的,我怎么可能会啊),写了道水题,给个矩阵,给出一些点,让这些点的行和竖都为0,求最终矩阵的情况,行和列记录下就可以了。之后hr说可以等下午,但是不一定排得到

2018秋招面试记录

你离开我真会死。 提交于 2021-02-16 10:59:06
作业帮笔试 leetcode 53 Maximum Subarray Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum. Example: Input: [-2,1,-3,4,-1,2,1,-5,4], Output: 6 Explanation: [4,-1,2,1] has the largest sum = 6. class Solution { public: int maxSubArray(vector<int>& nums) { if (nums.empty()) { return -1; } int n = nums.size(); int max_val = nums[0]; int cur_max = 0; for (int i = 0; i < n; i++) { // 这样一来每次还会比较每个值的大小, 如果数组所有值为负数的话 cur_max += nums[i]; max_val = max(max_val, cur_max); cur_max = max(cur_max, 0); // 很优秀 } return max_val; } }

java8的parallelStream提升数倍查询效率

≡放荡痞女 提交于 2021-02-16 08:12:17
点击上方 蓝色字体 ,选择“标星公众号” 优质文章,第一时间送达 作 者 | 我恰芙蓉王 来源 | cnblogs.com/-tang/p/13283216.html 业务场景 在很多项目中,都有类似数据汇总的业务场景,查询今日注册会员数,在线会员数,订单总金额,支出总金额等。。。这些业务通常都不是存在同一张表中,我们需要依次查询出来然后封装成所需要的对象返回给前端。那么在此过程中,就可以把这个接口中“大任务”拆分成N个小任务,异步执行这些小任务,等到最后一个小任务执行完,把所有任务的执行结果封装到返回结果中,统一返回到前端展示。 同 步执行 首先看看同步执行的代码 public class Test { @Data @NoArgsConstructor @AllArgsConstructor @ToString class Result { /** * 在线人数 */ Integer onlineUser; /** * 注册人数 */ Integer registered; /** * 订单总额 */ BigDecimal orderAmount; /** * 支出总额 */ BigDecimal outlayAmount; } @org.junit. Test public void collect ( ) { System. out .println( "数据汇总开始" );

两款非常赞的程序员画图神器,快用起来吧

自作多情 提交于 2021-02-16 00:36:39
有一段时间没有发文了,看到后台有伙伴问,作为程序员,有没有好的画图工具推荐,领导说Microsoft Visio画图工具很强,让我们使用,但是我就是用的不习惯。 还有没有其他高端的牛逼的,容易上手,一用就爽的画图工具么。 针对这么个问题,我其实也是经验不足,Microsoft Visio我也用过,安装包大,还要破解,用的不多,还买个正版,我的脑子还没瓦塌,我是不会买的。 那么趁着周末给大家分享两款好用的画图工具,作为程序员还是经常需要画一画图的,你应该能明白我说的画图指的是什么,我也就不过多的强调了。 还是强调下吧: 1、程序员不要认为写好代码就好,画好图也很重要,难道你没听过PPT架构师,PPT架构师不就天天画图么 这点就是轻松一下,周末愉快! 2、关于画图,俗话说,有图有真相!哦,不对,是一图胜千言。一图胜千言,沟通效率那不是刚刚的 这点很重要,不!是特别特别特别的重要!!! 如果你在工作中没有画过图,或者你没有找到合适的画图工具的话,那么读完本文,建议尝试用其中一个开始你画图的表演吧。 第一个款画图工具:Draw.io Draw.io 是一个很好用的免费流程图绘制工具。你可以利用它绘制一系列的图表、图示或图形,包括流程图、UML 类图、组织结构图、泳道图、E-R 图、文氏图等等,适用于商务、工程、电气、网络设计、软件设计等诸多领域的专业绘图。它致力于成为完全开源、免费