51dev.com IT技术开发者社区

51dev.com 技术开发者社区

搜索二维矩阵 II

搜索二维矩阵 II

编写一个高效的算法来搜索 m x n 矩阵matrix中的一个目标值target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。现有矩阵matrix如下:[[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16...

多数元素

多数元素

给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊n/2⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。输入:[3,2,3]输出:3输入:[2,2,1,1,1,2,2]输出:2这...

只出现一次的数字

只出现一次的数字

leetcode前前后后刷了几遍,一直没有坚持下来。这次决定坚持一下,立个flag,一年刷350道题给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你的算法应该具有线性时间复杂度。你可以不使用额外空间来实现吗?输入:[2,2,1]输出:1输入:[...

你真的会写单测吗?TDD初体验

你真的会写单测吗?TDD初体验

  昨天读到了一篇文章,讲的是TDD,即Test-DrivenDevelopment,测试驱动开发。大体意思是,它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。  初读之时,瞬间感受到了震...

用决策树做泰坦尼克号乘客的生存预测

用决策树做泰坦尼克号乘客的生存预测

前些天学习了一下决策树算法(ID3、C4.5、cart算法),今天实际练习一下。https://github.com/cystanford/Titanic_Datatrain.csv是训练数据集,包含特征信息和存活与否的标签;test.csv:测试数据集,只包含特征信息。我们需要做的,就是使用训练集...

leetcode 455. 分发饼干

leetcode 455. 分发饼干

描述:假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子i,都有一个胃口值 gi,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸sj 。如果sj>=gi ,我们可以将这个饼干j分配给孩子i,这个孩...

进击吧!职场小白!(萌新指南+好工具推荐)

进击吧!职场小白!(萌新指南+好工具推荐)

RT:本文仅适合开发萌新。背景:8月,同学们陆陆续续开始进入职场,好多同学进入职场后,都会有一些抗拒,不知道如何融入项目,不知道怎么去进行开发。这里分享一下我初入职场时的一些学习方法和感受,希望能够对大家有所帮助。求知欲,是你前进的动力:首先,初入职场,最开始需要做的,就是熟悉组内的工作。这句话听起...

你知道如何优化Join语句吗?

你知道如何优化Join语句吗?

join语句的两种算法,分别是:NLJ和BNL测试数据:createtablet1(idintprimarykey,aint,bint,index(a));createtablet2liket1;dropprocedureidata;delimiter;;createprocedureidata()...

你了解MySQL中的多表联合查询吗?

你了解MySQL中的多表联合查询吗?

前言:多表联合查询,其实就是我们MySQL中的join语句,经常会看到有人说join非常影响性能,不建议使用,你知道这是为什么呢?我们究竟可不可以用呢?测试数据:CREATETABLE`t2`(`id`int(11)NOTNULL,`a`int(11)DEFAULTNULL,`b`int(11)DE...

你知道MySQL中的主从延迟吗?

你知道MySQL中的主从延迟吗?

前言在一个MySQL主备关系中,每个备库接受主库的binlog并执行。正常情况下,只要主库执行更新生成所有的binlog,都可以传到备库并被正常的执行,这样备库就能够达到跟主库一样的状态,这就是最终一致性。但是MySQL提供的高可用能力,只有最终一致性是不够的,因为我们的备份可能会遇到主备延迟。什么...

你了解MySQL的加锁规则吗?

你了解MySQL的加锁规则吗?

注:加锁规则指的是next-keylock,如果还不了解next-keylock,请阅读上一篇博客加锁规则可以概括为:两个原则、两个优化和一个bug:原则1:加锁的基本单位是next-keylock,前开后闭原则2:查找过程中访问到的对象才会加锁优化1:索引上的等值查询,给唯一索引加锁的时候,nex...

你了解幻读吗?

你了解幻读吗?

首先我们创建一个表,并插入测试数据:CREATETABLE`t`(`id`int(11)NOTNULL,`c`int(11)DEFAULTNULL,`d`int(11)DEFAULTNULL,PRIMARYKEY(`id`),KEY`c`(`c`))ENGINE=InnoDB;insertintot...

为什么我只查一行的语句,执行的还是这么慢?

为什么我只查一行的语句,执行的还是这么慢?

有些情况,只查一行数据,执行的也会特别慢,接下来我们就梳理一下,会出现这里现象的场景。数据库压力如果MySQL数据库本身就有很大的压力,导致CPU占用率很高,IO利用率很高,那么即使是执行一条SQL语句,也会执行的很慢。锁如果这条SQL语句被锁住,他就会执行的很慢。而MySQL中的锁,又分为全局锁、...

为什么我加了索引,SQL执行还是这么慢(二)?

为什么我加了索引,SQL执行还是这么慢(二)?

接上文在MySQL中,有一些语句即使逻辑相同,执行起来的性能差异确实极大的。还记得我们上文中的结论吗:如果想使用索引树搜索功能,就不能使用数据库函数来处理索引字段值,而是在不改变索引字段值的同时,自己通过SQL语句来实现逻辑。而本文中,我们将基于上述结论进行分析,为什么隐式替换,不能使用索引树搜索功...

为什么我加了索引,SQL执行还是这么慢(一)?

为什么我加了索引,SQL执行还是这么慢(一)?

在MySQL中,有一些语句即使逻辑相同,执行起来的性能差异确实极大的。先抛出一个结论:如果想使用索引树搜索功能,就不能使用数据库函数来处理索引字段值,而是在不改变索引字段值的同时,自己通过SQL语句来实现逻辑条件字段函数操作假设我们现在维护了一张系统交易表:mysql>CREATETABLE`...