- 博客(33)
- 收藏
- 关注

原创 动态规划算法的学习之路
动态规划算法,可以说已经是各大互联网公司笔试、面试必考的算法之一了,为了抓住金九银十,学习要争分夺秒......可是如何分辨题目是否可以使用动态规划进行解题呢?别急,动态规划题目的特点可以大致分为以下三类:1.计数-有多少种方式走到右下角,比如机器人寻路等-有多少种方法选出k个数使得和是sum2.求最大最小值-从左上角走到右下角路径的最大数字和-最长上升子序列长度3.求存在性-取石子游戏,先手是否必胜-能不能选出k个数使得和是sum什么是动态规划?接下来通过例
2020-08-11 14:47:43
269
原创 滴滴秋招2021——0913 第一题 反转字符串
题目:某X星人发明了一种加密方法,该加密方法是将一个明文字符串从左到右分割成若干个长度相等的子字符串(最后一个子字符串的长度可以不同),然后将每个子字符串中字符进行逆序,从而得到密文。现在成功截取到X星人的密文并且猜到了X星人设置的长度,能否写一个程序将密文破解得到对应的明文呢?输入描述:单组输入每组测试数据的输入占两行,其中第一行包含一个正整数n,表示分割每个子字符串的长度;第二行为加密字符串S(S长度<=1000,n<=100)密文可能包含英文大小写字母,数字,空格和英文标点符号
2020-09-13 21:16:57
1191
1
原创 百度2021秋招——0903 第一题 求整除90的最大数
题目:牛牛有n张卡片,每张卡片要么是0,要么是5,牛牛能从中选出一些组成一些数字,现在牛牛想请你找出所有可能整除90的最大数字,若不存在,输出-1输入描述:第一行包含一个正整数n接下来一行包括n个整数ai1<=0<=10^3ai = 0或ai= 5输出描述输出一个数字表示答案示例输入:115 5 5 5 5 5 5 5 5 5 0输出5555555550**思路:**直接根据0和5的个数进行作答,整除90,则5的个数为9的倍数,且最后一位一定是0,接下来代码实现:
2020-09-03 21:27:01
774
原创 华为2021秋招笔试——0826第三题 二进制移位
题目描述:对输入n个无符号整数,进行二进制的移位和调换进行加扰,加扰后仍然保持n个整数。输出加扰后的n个整数,两个整数之间空格分开。加扰步骤:1.先把每个整数每两个bit交换位置,如bit0和bit1交换,bit2和bit3交换,依此类推;2.再把每个整数向右移2位,溢出的部分,第一个整数的最低2bit移到第二个整数的最高两bit上,第二个整数的最低2bit移到第三个整数的最高两bit上,依此类推,最后—个整数的最低2bit移到第个整数的最高2bit上。如果输入只有一个整数,溢出的2bit移到自己
2020-09-03 09:24:22
582
原创 华为2021秋招0902笔试——第三题 背包问题
题目描述你在一家家具公司工作,需要将家具发往全国各地,为此,你需要将箱子装上卡车,每个箱子的尺寸和价值各不相同,你需要尽可能利用每辆卡车的空间,假设卡车空间大小为K,给定个数组W,它的第i个元素表示第i个箱子的尺寸,给定一个数组V,它的第i个元素表示第i个箱子的价值,为此,你将如何选择要装上卡车的箱子在满足卡车的空间占用最大前提下,使卡车运输的箱子总价值最大?输入描述:参数1:卡车空间K(1<K< 1000)参数2:箱子个数N(1 N< 1000)参数3:每个箱子尺寸w(1<
2020-09-03 09:01:22
886
1
原创 Redis
缓存知识考点缓存中间件——Memcache和Redis的区别Memcache:代码层次类似Hash支持简单数据类型不支持数据持久化存储不支持主从不支持分片Redis数据类型丰富支持数据磁盘持久化存储支持主从支持分片为什么Redis能这么快?100000+QPS(QFS即query per second,每秒内查询次数)完全基于内存,绝大部分请求是纯粹的内存操作,执行效率高Redis采用的是单进程、单线程的k-v结构的数据库,由C语言编写,它将数据储存在内存中,读写均不会受到
2020-09-01 16:54:29
358
原创 JAVA基础——第二十一章 函数式接口
主要内容自定义函数式接口函数式编程常用函数式接口教学目标能够使用@FunctionalInterface注解能够自定义无参无返回函数式接口能够自定义有参有返回函数式接口能够理解Lambda延迟执行的特点能够使用Lambda作为方法的参数能够使用Lambda作为方法的返回值能够使用Supplier函数式接口能够使用Consumer函数式接口能够使用Function函数式接口能够使用Predicate函数式接口第一章 函数式接口1.1 概念函数式接口在Java中是指:有且仅有一
2020-08-25 23:10:18
363
原创 JAVA基础——第二十章 网络编程
主要内容软件架构CS/BS网络通信三要素TCP通信Socket套接字ServerSocket教学目标能够辨别UDP和TCP协议特点能够说出TCP协议下两个常用类名称能够编写TCP协议下字符串数据传输程序能够理解TCP协议下文件上传案例能够理解TCP协议下案例 2第一章 网络编程入门1.1软件结构C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、迅雷等软件。B/S结构 :全称为Browser/Server结构,是指浏览器和服务器结构。常
2020-08-25 23:09:18
342
原创 JAVA基础——第十九章 缓冲流、转换流、序列化流
主要内容转换流缓冲流序列化流打印流教学目标能够使用字节缓冲流读取数据到程序能够使用字节缓冲流写出数据到文件能够明确字符缓冲流的作用和基本用法能够使用缓冲流的特殊功能能够阐述编码表的意义能够使用转换流读取指定编码的文本文件能够使用转换流写入指定编码的文本文件能够说出打印流的特点能够使用序列化流写出对象到文件能够使用反序列化流读取文件到程序中第一章 缓冲流昨天学习了基本的一些流,作为IO流的入门,今天我们要见识一些更强大的流。比如能够高效读写的缓冲流,能够转换编码的转换流,能够
2020-08-25 23:07:55
265
原创 JAVA基础——第十八章 字节流、字符流
主要内容IO流字节流字符流异常处理Properties教学目标能够说出IO流的分类和功能能够使用字节输出流写出数据到文件能够使用字节输入流读取数据到程序能够理解读取数据read(byte[])方法的原理能够使用字节流完成文件的复制能够使用FileWirter写数据到文件能够说出FileWriter中关闭和刷新方法的区别能够使用FileWriter写数据的 5 个方法能够使用FileWriter写数据实现换行和追加写能够使用FileReader读数据能够使用FileReade
2020-08-25 23:06:43
277
原创 JAVA基础——第十七章 File类、递归
主要内容File类递归教学目标能够说出File对象的创建方式能够说出File类获取名称的方法名称能够说出File类获取绝对路径的方法名称能够说出File类获取文件大小的方法名称能够说出File类判断是否是文件的方法名称能够说出File类判断是否是文件夹的方法名称能够辨别相对路径和绝对路径能够遍历文件夹能够解释递归的含义能够使用递归的方式计算 5 的阶乘能够说出使用递归会内存溢出隐患的原因第一章 File类1.1 概述java.io.File 类是文件和目录路径名的抽象表示,
2020-08-25 23:05:41
252
原创 JAVA基础——第十六章 线程池、Lambda表达式
主要内容等待与唤醒案例线程池Lambda表达式教学目标能够理解线程通信概念能够理解等待唤醒机制能够描述Java中线程池运行原理能够理解函数式编程相对于面向对象的优点能够掌握Lambda表达式的标准格式能够使用Lambda标准格式使用Runnable与Comparator接口能够掌握Lambda表达式的省略格式与规则能够使用Lambda省略格式使用Runnable与Comparator接口能够通过Lambda的标准格式使用自定义的接口(有且仅有一个抽象方法)能够通过Lambda的省
2020-08-25 23:04:47
249
原创 JAVA基础——第十五章 异常、线程
主要内容异常、线程教学目标能够辨别程序中异常和错误的区别说出异常的分类说出虚拟机处理异常的方式列举出常见的三个运行期异常能够使用try…catch关键字处理异常能够使用throws关键字处理异常能够自定义异常类能够处理自定义异常类说出进程的概念说出线程的概念能够理解并发与并行的区别能够开启新线程# 第一章 异常## 1.1 异常概念### 异常,就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将### 受影响.在程序
2020-08-25 23:03:16
180
原创 JAVA基础——第十四章 Map
主要内容Map集合教学目标能够说出Map集合特点使用Map集合添加方法保存数据使用”键找值”的方式遍历Map集合使用”键值对”的方式遍历Map集合能够使用HashMap存储自定义键值对的数据能够使用HashMap编写斗地主洗牌发牌案例第一章 Map集合1. 1 概述现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即java.util.Map接
2020-08-25 23:02:14
841
原创 JAVA基础——第十章 接口、多态
今日内容接口三大特征——多态引用类型转换教学目标写出定义接口的格式写出实现接口的格式说出接口中成员的特点能够说出使用多态的前提条件理解多态的向上转型理解多态的向下转型能够完成笔记本电脑案例(方法参数为接口)第一章 接口1. 1 概述接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK 7 及以前),默认方法和静态方法(JDK 8 ),私有方法(JDK 9 )。接口的定义,它
2020-08-25 23:00:19
280
原创 JAVA基础——第十三章 List、Set、数据结构、Collections
主要内容数据结构List集合Set集合Collections教学目标能够说出List集合特点能够说出常见的数据结构能够说出数组结构特点能够说出栈结构特点能够说出队列结构特点能够说出单向链表结构特点能够说出Set集合的特点能够说出哈希表的特点使用HashSet集合存储自定义元素能够说出可变参数的格式能够使用集合工具类能够使用Comparator比较器进行排序第一章 数据结构2.1 数据结构有什么用?当你用着java里面的容器类很爽的时候,你有没有想过,怎么Array
2020-08-25 09:36:04
498
原创 JAVA基础——第九章 继承、super、this、抽象类
今日内容三大特性——继承方法重写super关键字this关键字抽象类教学目标能够解释类名作为参数和返回值类型能够写出类的继承格式能够说出继承的特点能够说出子类调用父类的成员特点能够说出方法重写的概念能够说出super可以解决的问题描述抽象方法的概念写出抽象类的格式写出抽象方法的格式能够说出父类抽象方法的存在意义能够完成发红包案例的代码逻辑第一章 继承1. 1 概述由来多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只
2020-08-24 14:19:10
294
原创 JAVA基础——第八章 String类、static关键字、Arrays类、Math类
今日内容String类static关键字Arrays类Math类教学目标能够使用String类的构造方法创建字符串对象能够明确String类的构造方法创建对象,和直接赋值创建字符串对象的区别能够使用文档查询String类的判断方法能够使用文档查询String类的获取方法能够使用文档查询String类的转换方法能够理解static关键字能够写出静态代码块的格式能够使用Arrays类操作数组能够使用Math类进行数学运算第一章 String类1. 1 String类概述
2020-08-24 14:17:07
192
原创 JAVA基础——第七章 Scanner类、Random类、ArrayList
今日内容API概述Scanner类Random类ArrayList类教学目标能够明确API的使用步骤能够使用Scanner类获得键盘录入数据能够使用Random类生成随机数能够使用数组存储自定义类型并遍历能够使用ArrayList集合的构造方法创建ArrayList集合对象能够使用ArrayList集合存储数据能够使用ArrayList集合中常用的方法能够使用ArrayList集合存储字符串并遍历能够使用ArrayList集合存储自定义对象并遍历能够使用ArrayList
2020-08-24 14:15:51
490
原创 JAVA基础——第六章 类与对象、封装、构造方法
今日内容面向对象类与对象三大特征——封装构造方法教学目标能够理解面向对象的思想能够明确类与对象关系能够掌握类的定义格式能够掌握创建对象格式,并访问类中的成员能够完成手机类的练习能够理解对象的内存图能够说出成员变量和局部变量的区别能够理解private关键字的含义能够说出this关键字可以解决的问题能够理解构造方法的含义能够用封装的思想定义一个标准类第 1 章 面向对象思想1. 1 面向对象思想概述概述Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序
2020-08-24 14:14:21
447
1
原创 JAVA基础——第五章 数组
今日内容数组概念数组的定义数组的索引数组内存数组的遍历数组的最大值获取数组反转数组作为方法参数和返回值教学目标理解容器的概念掌握数组的第一种定义方式掌握数组的第二种定义方式掌握数组的第三种定义方式使用索引访问数组的元素了解数组的内存图解了解空指针和越界异常掌握数组的遍历掌握数组最大值的获取了解数组反转的原理了解数组作为方法参数传递了解数组作为方法的返回值第一章 数组定义和访问1. 1 容器概述案例分析现在需要统计某公司员工的工资情况,例如计算平均工资、找到最
2020-08-24 14:12:26
317
原创 JAVA基础——第四章 Idea、方法
今日内容集成开发工具IDEA方法的参数和返回值方法的重载教学目标掌握idea开发工具的安装能够使用idea创建Java工程能够使用idea创建包和类了解idea的Java工程目录了解idea字体的设置掌握idea常用开发快捷键了解项目的导入和删除掌握方法定义的参数和返回值含义了解方法的调用过程了解方法的三种调用形式掌握方法定义的注意事项掌握方法重载的概念能够判断出方法的重置第一章 开发工具IntelliJ IDEA1. 1 开发工具概述IDEA是一个专门针对Java
2020-08-24 14:09:40
248
原创 JAVA基础——第三章 流程控制语句
今日内容if else判断语句switch选择语句for循环语句while循环语句do while循环语句跳出语句break,continue教学目标理解if语句的格式和执行流程理解if...else语句的格式和执行流程理解if...else if语句的格式和执行流程了解if语句和三元运算符互换理解switch选择语句的格式和执行流程了解switch选择语句接收的数据类型了解case的穿透性理解while语句的格式和执行流程理解for语句的格式和执行流程理解do...wh
2020-08-24 14:08:26
148
原创 JAVA基础——第二章 数据类型转换、运算符、方法入门
今日内容数据类型转换算数运算符比较运算符逻辑运算符三元运算符简单方法定义和调用教学目标理解数据类型的强制转换理解数据类型的自动转换了解ASCII编码表理解int类型和char类型的运算原理理解运算符++ - -的运算方式理解+符号在字符串中的作用理解比较运算符理解逻辑运算符掌握三元运算符的格式和计算结果了解方法的概念掌握无返回值无参数方法的定义格式了解方法定义的注意事项第一章 数据类型转换Java程序中要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型
2020-08-24 12:18:52
336
原创 JAVA基础——第十三章 Collection、泛型
主要内容Collection集合迭代器增强for泛型教学目标 能够说出集合与数组的区别 说出Collection集合的常用功能 能够使用迭代器对集合进行取元素 能够说出集合的使用细节 能够使用集合存储自定义类型 能够使用foreach循环遍历集合 能够使用泛型定义集合对象 能够理解泛型上下限 能够阐述泛型通配符的作用第一章 Collection集合1.1 集合概述在前面基础班我们已经学习过并使用过集合ArrayList ,那么集合到底是什么呢?集合:集合是jav
2020-08-24 11:05:38
239
原创 JAVA基础——第一章 前言、入门程序、常量、变量
大纲:Java语言的发展历史 Java开发环境搭建 编写HelloWorld程序 常量和变量目标:能够计算二进制和十进制数之间的互转 能够使用常见的DOS命令 理解Java语言的跨平台实现原理 理解JDK和JRE的组成和作用 能够配置环境变量JAVA_HOME 能够编写HelloWorld程序编译并执行 理解关键字的含义 理解标识符的含义 能够定义出所有类型的常量 理解Java中的基本数据类型分类 能够定义8种基本数据集类型的变量1 开发前言1.1 Java...
2020-08-24 10:46:48
187
原创 leetCode_105 根据一棵树的前序遍历与中序遍历构造二叉树
题目:根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder =[3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7分析方法:分而治之结合“前序遍历”和“中序遍历”的定义前序遍历的第1个节点一定是二叉树的根节点;中序遍历中根节点把中序遍历分成两部分,左边部分构成了二叉树的根节点的左...
2020-08-06 11:54:02
261
原创 leetCode_024 两两交换链表中的节点
题目:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.直接上代码: public static ListNode swapPairs(ListNode head) { //判断为空或者只有一个节点的情况 if(head == null || he
2020-08-04 15:55:49
101
原创 leetCode_206 反转一个链表
题目:反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?先上代码 public static ListNode reverseList(ListNode head) { //申请节点,pre和 cur,pre指向null,cur指向当前节点 ListNode p
2020-08-04 14:30:12
187
原创 java.sql.SQLException: The server time zone value **** is unrecognized or represents
问题:java.sql.SQLException: The server time zone value ‘�й���ʱ��’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the ‘serverTimezone’ configuration property) to use a more specifc time zone v
2020-05-30 17:03:15
81
原创 500:Servlet.init() for servlet [springmvc] threw exception
这种问题可以修改以下设置,亲测有效修改完成后执行,问题解决。
2020-05-23 20:43:00
138
原创 《剑指Offer》系列一——二维数组中的查找
《剑值Offer》第一课每天一道题,前进一小步。二维数组中的查找题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。思路:1.题目主要考察的是二维数组的遍历问题,想想数组遍历的常用方法有哪些?2.最简单的应该是for循环,此题就采用for...
2020-03-31 21:10:56
283
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人