自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 收藏
  • 关注

原创 专题三:二分法问题整理(Leetcode例题及解题思路)

1.LeetCode69.x 的平方根题目:  实现 int sqrt(int x) 函数。  计算并返回 x 的平方根,其中 x 是非负整数。  由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:  输入: 4  输出: 2示例 2:  输入: 8  输出: 2  说明: 8 的平方根是 2.82842…,   由于返回类型是整数,小数部分将被舍去。...

2020-04-17 23:00:14 704

原创 专题二:贪心算法问题整理(Leetcode例题及解题思路)

1.LeetCode455. 分发饼干题目:  假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这...

2020-04-14 17:07:43 1457

原创 专题一:双指针问题整理(Leetcode例题及解题思路)

双指针解题思路如下图:1、首尾双指针(1)LeetCode167. 两数之和 II - 输入有序数组题目要求:  给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。  说明:  返回的下标值(index1 和 index2)不是从零开始的。  你可以假设每个...

2020-04-08 21:03:37 1008

原创 中兴面经

目录1.设计模式六大设计原则2.TCP为什么可靠?3.Redis中RDB和AOF两种持久化及其区别4.java项目中VO和DTO以及Entity,各自是在什么情况下应用的?5.spring ioc和aop1、IOC2、AOP6.final finally finalize 区别7.mybatis1.MyBatis的作用?2、mybatis中的#和$的区别?3、什么是SQL注入?4、mybatis是如何做到防止sql注入的?8.为什么需要缓存?9. 面向对象的特点10.Linux用过哪些命令?11.1.设计

2020-08-03 09:15:26 589 1

原创 【动态规划】子序列有关问题

目录1、最长上升子序列2、一组整数对能够构成的最长链3、最长摆动子序列4、最长公共子序列1、最长上升子序列2、一组整数对能够构成的最长链3、最长摆动子序列4、最长公共子序列

2020-06-20 20:45:54 265

原创 【DFS和BFS】力扣题解

目录一、DFS和BFS相关概念二、DFS相关练习题1.岛屿的最大面积2.岛屿的数量3.朋友圈4.被围绕的区域5.太平洋大西洋水流问题三、BFS相关练习题1. 二进制矩阵中的最短路径2.单词接龙一、DFS和BFS相关概念深度优先搜索(DFS)在进行图的搜索时,得到一个新的节点,立即对新节点向下遍历,然后回溯。使用 DFS 对一个图进行遍历时,能够遍历到的节点都是从初始节点可达的,DFS 常用来求解这种 可达性 问题。广度优先搜索(BFS)在搜索的时候,是一层一层地进行遍历,每层遍历都是以上一层遍历的结果

2020-06-16 16:38:27 683

原创 【小红书】2020校招编程题

1.薯券使用问题2.笔记草稿1.薯券使用问题某小红薯在小红书的活动中抽奖中了一定价值的薯券,这些薯券可以用来购买一批商品,求有多少种购买组合。其中一件商品可以买多件。输 入:薯券金额、商品分别价格输出 :组合数输入描述:输入薯券金额、商品分别价格 例如:10 [2,3,5] 10与[2,3,5]中间有空格输出描述:输出4,则结果集可以为:2,2,2,2,2;5,5;2,3,5;2,2,3,3共有4种组合输入例子1:10 [2,3,5]输出例子1:4这是一道动态规划

2020-06-14 11:41:18 2722

原创 剑指offer(25)——合并两个排序的链表

题目:  输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例:  输入:1->2->4, 1->3->4  输出:1->1->2->3->4->4限制:  0 <= 链表长度 <= 1000思路:  分离双指针;  引入伪头节点: 由于初始状态合并链表中无节点,因此循环第一轮时无法将节点...

2020-04-08 20:52:22 126

原创 剑指offer(22)—— 链表中倒数第k个节点

题目:  输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。  示例:  给定一个链表: 1->2->3->4->5, 和 k = 2.  返回链表 4->5.思路:  构...

2020-04-07 00:34:14 120

原创 剑指offer(21)—— 调整数组顺序使奇数位于偶数前面

题目:  输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。  示例:  输入:nums = [1,2,3,4]  输出:[1,3,2,4]  注:[3,1,2,4] 也是正确的答案之一。提示:  1 <= nums.length <= 50000  1 <= nums[i] <= 1000...

2020-04-06 23:55:08 138

原创 剑指Offer—(3)二维数组中的查找

1.题目描述:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19],[3, 6, 9, 16, 22],[10, 13, 14,...

2020-03-31 23:19:05 154

原创 剑指Offer——(15)二进制中的一个数

题目:请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。示例 :输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 '1'。思路:主要考察位移运...

2020-03-31 22:58:41 107

原创 剑指Offer——(14)剪绳子

题目:给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m] 。请问 k[0]k[1]…*k[m] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 =...

2020-03-31 22:58:15 85

原创 剑指Offer——(11)旋转数组的最小数字

题目把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:0思路寻找旋转数组的最小元素即为寻找 右排序数组 的首个元素 nu...

2020-03-31 22:57:58 88

原创 剑指Offer——(8)用两个栈实现队列

题目用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:[“CQueue”,“appendTail”,“deleteHead”,“deleteHead”][[],[3],[],[]]输出:[null,n...

2020-03-31 22:57:27 62

原创 剑指Offer——(7)从尾到头打印链表

题目输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000思路:借助栈来实现。栈的特点是后进先出,即最后压入栈的元素最先弹出。考虑到栈的这一特点,使用栈将链表元素顺序倒置。从链表的头节点开始,依次将每个节点压入栈内,然后依次弹出栈内的元素并存储到数组...

2020-03-31 22:57:06 69

原创 剑指Offer——(5)替换空格

题目:请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = “We are happy.”输出:“We%20are%20happy.”限制:0 <= s 的长度 <= 10000思路:借助StringBuilder来实现class Solution { public String replaceSpace(String s) {...

2020-03-31 22:56:26 69

原创 剑指Offer——(6)重建二叉树

题目输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7限制:0 <= 节点个数 <...

2020-03-31 22:55:48 74

原创 剑指Offer——(10)青蛙跳台阶问题

题目一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21提示:0 <= n <= 100思路:(1)设跳上 n 级台阶有 f(n) 种跳法。在所有...

2020-03-31 21:20:33 214

原创 剑指Offer——(9)斐波那契数列

题目写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008...

2020-03-31 21:19:28 128

原创 (最详细教程)LInux下安装、配置MySql

所使用的软件版本号:1.MySql:5.62.Linux:CentOS安装方式:以解压版的方式进行安装,安装配置顺序按照如下步骤一步一步进行。一、安装流程1.复制MySql压缩包到CentOS中安装mysql放到/usr/local目录下,这个目录是解压版的默认安装目录,这样后续安装过程中可以减少不必要的麻烦。1.1 进入 /usr/localcd /usr/local1....

2020-02-04 23:56:34 3623 1

原创 Ajax

标准请求响应时浏览器的动作(同步操作)1.1 浏览器请求什么资源,跟随显示什么资源ajax:异步请求.2.1 局部刷新,通过异步请求,请求到服务器资源数据后,通过脚本修改页面中部分内容.ajax 由javascript 推出的.3.1 由jquery 对js 中ajax 代码进行的封装,达到使用方便的效果.jquery 中ajax 分类4.1 第一层$.ajax({ 属性名:值...

2019-12-28 15:22:43 77

原创 Spring(十七)——Spring中常用注解

@Component 创建类对象,相当于配置<bean/>@Service 与@Component 功能相同.2.1 写在ServiceImpl 类上.@Repository 与@Component 功能相同.3.1 写在数据访问层类上.@Controller 与@Component 功能相同.4.1 写在控制器类上.@Resource(不需要写对象的get/set)...

2019-12-28 15:15:37 76

原创 Spring(十六)——声明式事务中属性的解释

name=”” 哪些方法需要有事务控制1.1 支持*通配符readonly=”boolean” 是否是只读事务.2.1 如果为true,告诉数据库此事务为只读事务.数据化优化,会对性能有一定提升,所以只要是查询的方法,建议使用此数据.2.2 如果为false(默认值),事务需要提交的事务.建议新增,删除,修改.propagation 控制事务传播行为.3.1 当一个具有事务控制的...

2019-12-28 15:13:52 70

原创 Spring(十五)——声明式事务

编程式事务:(1)由程序员编程事务控制代码.(2)OpenSessionInView 编程式事务声明式事务:(1) 事务控制代码已经由spring 写好。程序员只需要声明出哪些方法需要进行事务控制和如何进行事务控制。声明式事务都是针对于ServiceImpl 类下方法的.事务管理器基于通知(advice)的.在spring 配置文件中配置声明式事务<context:pro...

2019-12-28 15:01:34 73

原创 单例设计模式

1. 作用:在应用程序中保证最多只能有一个实例.2. 好处:提升运行效率.实现数据共享. 案例:application 对象3. 懒汉式(1)对象只有被调用时才去创建.(2)由于添加了锁,所以导致效率package com.ouc;public class SingleTon { //由于对象需要被静态方法调用,把方法设置为static //由于对象时static,必须...

2019-12-27 23:20:54 55

原创 Spring(十四)——scope属性

<bean>的属性。作用:控制对象有效范围(单例,多例等)<bean/>标签对应的对象默认是单例的.3.1 无论获取多少次,都是同一个对象scope 可取值4.1 singleton 默认值,单例4.2 prototype 多例,每次获取重新实例化4.3 request 每次请求重新实例化4.4 session 每个会话对象内,对象是单例的.4.5 ap...

2019-12-27 22:57:48 67

原创 Spring(十三)——Spring加载properties

在src新建db.properties文件。在spring 配置文件中先引入xmlns:context。【注意】如果需要加载多个配置文件逗号分割,每个文件前都需要加classpath: <context:property-placeholder location="classpath:db.properties"/>添加属性文件加载和在<bean/>中开启...

2019-12-27 22:55:37 73

原创 Spring(十二)——自动注入

在Spring 配置文件中对象名和ref=”id”。id 名相同使用自动注入,可以不配置<property/>两种配置办法(1)在<bean>中通过autowire=”” 配置,只对这个<bean>生效(2)在<beans>中通过default-autowire=””配置,表示当前文件中所有<bean>都是全局配置内容autow...

2019-12-27 22:34:29 53

原创 Spring(十一)——AOP底层(代理设计模式)

一.代理设计模式(1)设计模式:前人总结的一套解决特定问题的代码。(2)代理设计模式:  ① 真实对象(老总)  ② 代理对象(秘书)  ③ 抽象对象又叫抽象功能(谈小目标)(3)代理设计模式优点:  ① 保护真实对象  ② 让真实对象职责更明确  ③ 扩展...

2019-12-27 17:21:22 325

原创 Spring(十)——使用注解实现AOP

配置applicationContext.xml【注意】Spring不会自动寻找注解,需要引入新的命名空间——xmlns:context(多个包需要用逗号分割)来配置注解在那些包中<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"...

2019-12-27 16:21:46 49

原创 Spring(九)——使用AspectJ实现AOP

新建类不用实现,类中方法名任意package com.ouc.advice;import org.aspectj.lang.ProceedingJoinPoint;public class MyAdvice { //前置通知(两个参数) public void mybefore(String name,int age){ System.out.println("前置"+":"...

2019-12-26 23:22:54 59

原创 Spring(八)——使用Schema-based实现AOP

一.导入相关jar二.前置通知新建前置通知类(1)arg0:切点方法对象,Method对象(2)arg1:切点方法参数(参数数组)(3)arg2:切点在那个对象中

2019-12-26 22:17:35 99

原创 Spring(七)——AOP详解

中文名称:面向切面编程英文名称:Aspect Oriented Programming正常执行的流程是纵向执行流程(1)在原有纵向执行流程中添加横切面(2)不需要修改原有程序代码   ①高扩展性   ②原有功能相当于释放了部分逻辑,让职责更加明确。面向切面编程是什么?在程序原有纵向执行流程中,针对某一个或某一些方法添加通知,形成横切面过程就叫做面向切面编程。常用概念:(1)...

2019-12-26 20:23:11 109

原创 Spring(六)——使用Spring整合MyBatis

1.导入MyBatis和Spring及相关jar2.配置web.xml<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema...

2019-12-26 18:42:39 62

原创 Spring(五)——IOC和DI

1.IoC(1)中文名称:控制反转(2)英文名称:Inversion of Control(3)IoC的概念:  ①IoC完成的事情:原先由程序员主动通过new实例化对象的事情转交给Spring负责。  ②控制反转中控制指的是:控制类的对象。  ③控制反转中反转指的是:转交给Spring负责。  ④IoC最大的作用:解耦   程序员不需要管理对象,解除了对象管理和程序员之间的耦合。...

2019-12-26 10:39:13 81

原创 Spring(四)——Spring给Bean的属性赋值(注入)

1.通过构造方法设置值此方法见上一篇博客。2.设置注入(通过set方法)(1)如果属性是基本数据类型或String等简单类型<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w...

2019-12-25 22:59:25 394 2

原创 Spring(三)——Spring创建对象的三种方式

1. 通过构造方法创建(1)无参构造创建:默认情况(2)有参构造创建:需要明确配置  ① 需要在类中提供有参构造方法  ② 在applicationContext.xml中设置调用哪个构造方法创建的对象  ③ 如果设定的条件匹配多个构造方法执行最后的构造方法  ④ index:参数的索引,从零开始  ⑤ name:实体类的参数名  ⑥ type: 类型(区分开关键字和封装类 int...

2019-12-25 22:37:16 186

原创 Spring(二)——Spring环境搭建

1.导入jar【注】四个核心包和一个日志包2.在src下新建applicationContext.xml(1)文件名和路径自定义(2)Spring容器是ApplicationContext。   applicationContext.xml配置信息最终存储到了ApplicationContext容器。(3)Spring配置文件是基于schema  ① schema文件扩展名.xs...

2019-12-25 21:41:25 73

原创 Spring(一)——Spring框架简介以及官方压缩包目录介绍

1.Spring几大核心功能IOC/DI 控制反转/依赖注入AOP 面向切面编程声明式事务2.Spring Framework Runtimetest:Spring提供的测试功能Core Container核心容器。Spring启动最基本的条件。(1)Beans:Spring 负责创建类对象并管理对象。(2)Core:核心类。(3)Context:上下文参数。获取外部资源...

2019-12-25 15:06:20 154

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除