- 博客(49)
- 收藏
- 关注
原创 0-1 背包问题
题目就是这么简单,一个典型的动态规划问题。题目就是这么简单,一个典型的动态规划问题。这个题目中的物品不可以分割,要么装进包里,要么不装,不能说切成两块装一半。这也许就是 0-1 背包这个名词的来历。 这也许就是 0-1 背包这个名词的来历。解决这个问题没有什么排序之类巧妙的方法,只能穷举所有可能,根据 动态规划套路详解 中的套路,直接走流程就行了。第一步要明确两点,「状态」和「选择」。先说状态,如何才能描述一个问题局面?只要给定几个可选物品和一个背包的容量限制,就形成了一个背包问题,对不对?所以.
2021-08-19 09:15:31 134
原创 LRUCache
import java.util.HashMap;class LRUCache { class Node { public int key, val; public Node next, prev; public Node(int k, int v) { this.key = k; this.val = v; } } // key -> Node(key, val)
2021-08-10 20:57:24 102
原创 设计模式-单例
设计模式(Design pattern),提供了在软件开发过程中面临的一些问题的最佳解决方案,是Java开发者必修的一门课程。主要分创建型模式、结构型模式和行为型模式。其中接下来我们要写的是单例模式,属于创建型模式。单例模式,顾名思义就是只有一个实例,并且她自己负责创建自己的对象,这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。下面我们来看下有哪几种实现方式吧。单例模式//懒汉式public class LanH { public static LanH.
2021-08-05 09:37:43 100
原创 mysql
mysql中MySAM存储引擎与InnoDB存储引擎的区别join 图索引是什么where &order by聚簇索引并不是一种单独的索引类型,而是一种数据存储方式。术语‘聚簇’表示数据行和相邻的键值聚簇的存储在一起。如下图,左侧的索引就是聚簇索引,因为数据行在磁盘的排列和索引排序保持一致。聚簇索引的好处:按照聚簇索引排列顺序,查询显示一定范围数据的时候,由于数据都是紧密相连,数据库不不用从多个数据块中提取数据,所以节省了大量的io操作。聚簇索引的限
2021-08-01 07:43:14 91
原创 java,jdbc防止sql语句注入小demo
demo没有防sql注入机制加入防sql注入机制没有防sql注入机制package com.bjpowernode.jdbc;import java.sql.*;import java.util.HashMap;import java.util.Map;import java.util.Scanner;public class JDBC { public static void main(String[] args) { //初始化界面 Map<Str
2021-06-23 22:56:59 160
原创 基于UDP的编程与在线客服聊天案例
发送方: DatagramSocket 数据包:DatagramPacket发送方: DatagramSocket 数据包:DatagramPacket//发送端import java.io.IOException;import java.net.*; public class TestSend {//发送方 public static void main(String[] args) throws IOException { .
2021-05-23 11:00:26 93
原创 二叉树宽度优先遍历
import java.util.LinkedList;import java.util.Queue;public class Node { public int value; public Node left; public Node right; public Node(int data){ this.value=data; } //获取一个图的宽度优先遍历 public static void w(Node head){
2021-05-21 23:36:52 158
原创 反射机制
/* 要操作一个类的字节码,需要先获取这个类的字节码,怎么获取java.lang.class实例? 三种方式 第一种:Class c=Class.forname("完整类名带包名"); 第二种:Class c=对象.getClass(); */ public static void main(String[] args) { /* 1.Class.forname()是静态方法. 2.方法的...
2021-05-21 23:35:52 61
原创 基于TCP协议网络编程用户登录案例
基于TCP的编程先启动服务器再启动客户端(先启动客户端未找到服务器出错)不能重复启动服务端(否则端口号冲突)单向通信案例import java.io.DataInputStream;import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;public class TestSrerver {//服务器端 public st
2021-05-21 17:39:07 436
原创 java: 非法的 Unicode 转义
最近在编译工程时,遇到了非法的Unicode 转义。因为是第一次遇到,所有在此分享,拓展的同时增加理解。分析:编译器无报错,说明不是编译期异常注释掉功能性代码,只留下打印语句,同样报错,说明应该是注释部分有问题根据编译器提示行,进一步分析发现下图中的第14行中包含多个斜杠,考虑为转义问题查阅相关资料:java是允许在注释以及代码中使用\u开头的Unicode转义字符的,但是要求转义必须有效,否则编译器会报告错误。java是允许在注释以及代码中使用\u开头的Unicode转义字符的,但是要求转
2021-05-07 15:17:14 1860
原创 IO
//内存和硬盘交互频繁,浪费资源.import java.io.FileInputStream;import java.io.IOException;public class FileInputStreamTeast { public static void main(String[] args) { FileInputStream fis=null; try { fis =new FileInputStream("D:\\1...
2021-05-07 00:54:48 80
原创 面试必背必备
面试必背必备数据结构与算法常见排序算法及最坏时间复杂度计算机网络谈谈TCP的三次握手2.1、握手过程2.2、 为什么要三次握手数据结构与算法常见排序算法及最坏时间复杂度《忆排序》选泡插, &nb
2021-05-05 16:55:00 88
原创 Java的集合
小试牛刀:public static void main(String[] args) { Object b =new ArrayList(); List b1=(List)b; b1.add("12"); System.out.println(b1.add("126")); b1.add(0,1); for (var b3:b1 ) { System.out.printl...
2021-04-24 14:53:42 79
原创 MySQL基础
MySQL基础学习目录MySQL基础学习数据库的好处数据库相关概念数据库存储数据的特点MySQL服务的启动和停止MySQL服务的登录和退出MySQL的常见命令MySQL的语法规范SQLyog 图形化页面SQL的语言分类SQL的常见命令DQL语言的学习进阶1:基础查询进阶2:条件查询进阶3:排序查询进阶4:常见函数进阶5:分组查询进阶6:多表连接查询进阶7:子查询进阶8:分页查询进阶9:联合查询DML语言插入修改删除DDL语句库和表的管理1.创建表2.修改表 alter3.删除表常见类型常见约束数据库事务含义
2021-04-19 22:35:27 77
原创 Java的lambda语法格式及函数式接口
lambda的语法格式语法格式1:无参且无返回值语法格式2:有一个参数,无返回值语法格式三 :有两个或者两个以上的参数,多条执行语句,有返回值语法格式1:无参且无返回值public interface MyInterface{void testMethod();}MyInterface m=() ->{System.out.println("卡巴喇嘛");}注意:->{}中如果只有一句话,那么{}可以省略不写Lambda表达式的本质上就是:接口的实现类的具体的对象语
2021-04-17 22:59:45 108
原创 学习中遇到带解决的问题
对象实例化、JVM 装载public class InstanceInitTest { { a=6; //为什么可以省略 int 修饰符 } int a=9; public static void main(String[] args) { System.out.println(new InstanceInitTest().a); }}
2021-04-17 11:16:11 54
原创 对数器
对数器的概念和使用1,有一个你想要测的方法a2,实现复杂度不好但是容易实现的方法b3,实现一个随机样本产生器4,把方法a和方法b跑相同的随机样本,看看得到的结果是否一样。5,如果有一个随机样本使得比对结果不一致,打印样本进行人工干预,改对方法a或者方法b6,当样本数量很多时比对测试依然正确,可以确定方法a已经正确。小案例:import java.util.Arrays;public class Code03_InsertionSort { public static void.
2021-03-03 17:14:54 137 1
原创 数据结构与算法
学习思路学习资料及途径: b栈视频、某课网、csdn博客学习时间:202104-学习目标:面向找工作模块分类递归动态规划查找回溯算法动态规划动态规划动态规划
2021-02-24 11:32:54 76
原创 Java求职记录---自顶向下准备找工作
本篇博客旨在记录我求职的过程,给有相同需求的同学提供参考。目前还在完善中,有想了解详细情况的也可以交流,求职不易。。。基本情况基本情况1年工作经验,本科学历:重庆大学软件工程;掌握技能:java精通、spring全家桶、常用中间件、数据库、数据结构与算法、计算机网络基础,这里花了一个多月时间做准备,具体准备的知识见本人知识类文章;求职目标:在重庆/成都找一份1w+的工作,在高工资和不加班之间权衡;求职时间:2020/7-求职渠道:各大公司官网(具体有哪些较大体量的公司可以知乎或者百度,大部分机
2021-02-24 10:22:09 194
原创 回溯算法
回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就 “回溯” 返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为 “回溯点”。许多复杂的,规模较大的问题都可以使用回溯法,有“通用解题方法”的美称。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试...
2021-02-18 15:25:43 217
原创 字体设置
Markdown啷个用欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式
2021-02-18 14:28:01 103 1
原创 JS 拼接Input&select字符小案例
<div> <select name="classes_subject_select" onchange="sum(this);" id="showtips_subject"> <option value="你好">你好</option> <option value="世界">世界</option> </select></div><div><i
2021-02-08 11:24:41 735
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人