互联网络

趣谈设计模式——责任链模式

  责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。  让我们去试着理解这一段话,责...

趣谈设计模式——组合模式

Composeobjectsintotreestructurestorepresentpart-wholehierarchies.Compositeletsclientstreatindividualobjectsandcompositionsofobjectsuniformly.将对象组合成树形结构以表示&ldquo...

Servlet还有学习的必要吗?(手工搭建Servlet)

  在初学Javaweb的时候,就曾听到过这样一种说法:  javaWeb的演变过程大概可以分为4个阶段:jsp+Servlet+jdbcspring+struts2+hibernate(ssh)spring+SpringMVC+mybatis(ssm)微服务阶段。  所以学习Javaweb,可以从第3个阶段开始学习,...

区域和检索

描述:给定一个整数数组 nums,求出数组从索引 i 到 j  (i ≤ j)范围内元素的总和,包含 i, j 两点。示例:给定nums=[-2,0,3,-5,2,-1],求和函数为sumRange()s...
代码星球·2020-08-31

除数博弈

描述:爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作:选出任一 x,满足 0<x<N且 N%x==0 。用N-x 替换黑板上的数字N。如果玩家无法执行这些操作,就...
代码星球·2020-08-31

括号生成

描述:给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。示例:例如,给出 n=3,生成结果为:["((()))","(()())","(())()","()(())","()()()"]思路:这道题可以用回溯法解决,即穷举出所有可能,再按照规则过滤结...
代码星球·2020-08-31

你真的了解数组吗?

数组,应该是我们每个人学习编程时接触的第一个数据结构。它很简单,但是却很重要。很多高级的数据结构,其实都是由数组组成的,或者说是用数组来实现的。比如跳跃表、散列表是由数组+链表组成的。堆、完全二叉树、图(邻接矩阵存储)都可以用数组来实现。所以说学好数组,就等于为你学习高级的数据结构打下了坚实的基础。数组是一种线性表数据...
代码星球·2020-08-31

合并两个有序数组

  给定两个有序整数数组nums1和nums2,将nums2合并到nums1中,使得num1成为一个有序数组。初始化nums1和nums2的元素数量分别为m和n。你可以假设nums1有足够的空间(空间大小大于或等于m+n)来保存nums2中的元素。输入:nums1=[1,2,3,0,0,0],m=3nums2=[2,5...
代码星球·2020-08-31

搜索二维矩阵 II

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

多数元素

给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊n/2⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。输入:[3,2,3]输出:3输入:[2,2,1,1,1,2,2]输出:2这道题有很多种方法求解...
代码星球·2020-08-31

只出现一次的数字

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

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

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

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

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

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

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

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

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