自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 背过的算法题

1.0-1背包问题(动态规划)/** * 0-1背包问题 * @param V 背包容量 * @param N 物品种类 * @param weight 物品重量 * @param value 物品价值 * @return */ public static String ZeroOnePack(int V,int N,int[] weight,int[] value){ //初始化动态规划数组 int[][] dp = new int[N+1][V+1];

2021-08-22 22:50:48 108

原创 秋招刷题

1.岛屿问题给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。示例 1: 输入: 11110 11010 11000 00000 输出: 1示例 2: 输入: 11000 11000 00100 00011 输出: 3解释: 每座岛屿只能由水平和/或竖直方向上相邻的陆地连接而成。/*具体思路看这个:https:

2020-09-25 10:47:28 141

原创 synchronized作用于静态方法和非静态方法上的区别

synchronized作用于非静态方法synchronized作用于非静态方法,实际上是对当前实例对象加锁,就是说如果一个实例对象的非静态同步方法获取锁后,该实例对象的其他非静态同步方法必须等待获取锁的方法释放锁后才能获取锁,可是别的实例对象的非静态同步方法因为跟该实例对象的非静态同步方法用的是不同的锁,所以毋须等待该实例对象已获取锁的非静态同步方法释放锁就可以获取他们自己的锁。情况1:同一个对象在两个线程中分别访问该对象的两个同步方法结果:会产生互斥。解释:因为锁针对的是对象,当对象调用一个.

2020-08-19 13:39:42 3874

转载 回溯法

转载于:https://blog.csdn.net/zw6161080123/article/details/799853451.

2020-08-09 14:28:23 97

原创 动态规划

1.数字三角形问题(1)问题:在上面的数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大。路径上的每一步都只能往坐下或者右下走,只需要求出这个最大和即可,不必给出具体路径。三角形的行数大于1小于等于100,数字为0-99.(2)解答:(3)递归版答案:class solution{ public int getMax(){ int MAX = 101; int[][] D = new int[MAX][MAX]; //存储数字三角形 int n;

2020-08-09 10:24:11 125

转载 设计模式-原型模式

https://blog.csdn.net/xiaofeng10330111/article/details/106079740#comments有时间再回来看

2020-07-18 16:58:54 59

原创 设计模式-单例模式

原文链接:https://blog.csdn.net/xiaofeng10330111/article/details/105652399一、单例模式的定义和应用场景(一)定义及基本要点单例模式是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。该模式有三个基本要点:一是这个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。(二)应用场景应用场景:J2EE中的ServlertContext、SerletContextConfig等、Spri

2020-07-18 16:57:01 97

原创 设计模式-装饰器模式

装饰器模式AOP是采用代理模式,再利用反射的机制,而不是装饰器模式。1.基本概念和功能装饰器模式能够实现从一个对象的外部来给对象添加功能,有非常灵活的扩展性,可以在对原来的代码毫无修改的前提下,为对象添加新功能。除此之外,装饰器模式还能够实现对象的动态组合,借此我们可以很灵活地给动态组合的对象,匹配所需要的功能。2.结构图分析Component:Component为统一接口,也是装饰类和被装饰类的基本类型。ConcreteComponent:ConcreteComponent是被装饰类,他.

2020-07-18 15:28:37 235 1

原创 设计模式-简单工厂模式,工厂方法模式,抽象工厂模式

简单工厂模式(1)简单工厂模式又称静态工厂模式(因为,它属工厂角色中定义的方法是静态方法),属于类创建模式,根据需求,我们可以根据传入的参数来返回不同子类的实例(其中用到了多态—继承,重写,向上转型)。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。(2)简单工厂模式最大的优点在于实现对象的创建和对象的使用分离,将对象的创建交给专门的工厂类负责,但是其最大的缺点在于工厂类不够灵活,增加新的具体产品需要修改工厂类的判断逻辑代码,这样就违背了开闭原则(对于扩展是开放.

2020-07-18 10:07:38 110

原创 LeetCode刷题

LeetCode刷题:1. 打印数组:定义一个数组 int[] array = {1,2,3,4,5};(1)传统的for循环方式for(int i=0;i<array.length;i++){ System.out.println(array[i]);}(2)for each循环for(int a:array) System.out.println(a);(3)利用Arrays类中的toString方法调用Arrays.toString(a),返回一个

2020-07-18 10:07:23 145

原创 学成在线项目总结

第一讲xc-service-manage-cms的配置文件pom.xml配置文件会报错,创建 xc-service-manage-cms时候pom文件,将里面的所有的-(横杠)自己改成英文的-的就好了2.QueryResponseResult是已经创建好的,在CmsPageControllerApi接口中ctrl加鼠标左键就能查看QueryResponseResult。在IDEA的使用过程中,经常断掉服务或者重启服务,最近断掉服务重启时突然遇到了一个启动报错:错误:找不到或无法加载主

2020-07-18 10:03:47 629

原创 数据结构与算法——单链表,顺序栈,链栈等的建立可以使用for循环一个一个元素的插入数据,包括双向链表也是

1. 单链表1.1 单链表的建立:由数组建立单链表//节点类public class Node{ public Object val; public Node next; public Node() { this.val = null; } public Node(Object val) { this.val = val; }}//由数组建立链表import java.util.Scanner;public class Main1 { //由数组建立链表 publ

2020-07-18 10:03:09 596

原创 笔试问题总结

通过subString()方法来进行字符串截取。subString通过不同的参数来提供不同的截取方式1.1只传一个参数例如:String sb = "bbbdsajjds";sb.substring(2);将字符串从索引号为2开始截取,一直到字符串末尾。(索引值从0开始);1.2传入2个索引值String sb = "bbbdsajjds";sb.substring(2, 4);从索引号2开始到索引号4结束(并且不包含索引4截取在内,也就是说实际截取的是索引号为2和3的字符);.

2020-07-18 10:01:43 58

原创 牛客网—leetcode刷题

环形链的入口慢指针:a+b快指针:a+b+c+b快指针的速度是慢指针的两倍,则 a+b+c+b = 2*(a+b),化简得a=c,则可以将两指针分别放在起始位置和相遇位置,并以相同速度前进,当一个指针走完距离a时,另一个指针恰好走完c,此时两个指针所在的位置就是环的入口处。import java.util.*;/** * Definition for singly-linked list. * class ListNode { * int val; * ListNo.

2020-07-18 10:01:19 143

原创 华为机试

计算字符个数(1)大小写字母和数字的ascii码值:65~90为26个大写英文字母,97~122号为26个小写英文字母,48~57为0到9十个阿拉伯数字。大小写字母之间正好相差32。(2)字符串的大小写转换:toLowerCase()方法将String转换为小写。如果字符串中没有应该被转换的字符,则将原字符串返回,否则返回一个新的字符串。语法:str.toLowerCase()toUpperCase()方法将Srtring转换为大写。如果字符串中没有应该转换的字符,则将原字符串返回,否则返回.

2020-07-18 10:00:58 179

原创 牛客网笔试输入输出总结

输出一维数组和二维数组(1)输出一维地址:Arrays.toString(arr)方法int[] c= {1,2,3};System.out.println("c:" + Arrays.toString(c));输出:c:[1, 2, 3](2)输出二维数组:Arrays.deepToString()方法://输出二维数组不能用Arrays.toString()方法int a[][]={{1,2,3},{4,5,6}};System.out.println("a:"+Arrays..

2020-07-18 10:00:39 1708 1

原创 Java集合源码—ArrayList

java泛型E - Element (在集合中使用,因为集合中存放的是元素)T - Type(Java 类)K - Key(键)V - Value(值)N - Number(数值类型)? - 表示不确定的java类型Java源码中的Class代表这个类型所对应的类,而Class<?>表示类型不确定的类。ArrayList提供了一个将List转为数组的一个非常方便的方法 list.toArray(),是将list直接转为Object[] 数组。Arrays.copy.

2020-07-16 15:15:47 71

原创 剑指offer2

包含min函数的栈min函数的复杂度要求为O(1),所以需要使用两个栈,一个用来存所有的元素“stackTotal”,另一个用来存加入新的元素后当前stackTotal中对应的最小值。这样调用min函数时直接return stackLittle.peek()就好。两个栈中的元素数量始终保持一致,当新的元素小于“stackLittle”栈顶元素时,“stackLittle”像栈顶push新来的元素,否则,“stackLittle”向栈顶加入原栈顶元素。执行“pop”方法时,两个栈同时弹出各自的栈顶元.

2020-07-14 15:53:50 71

原创 剑指offer1

第一题:二维数组中的查找//不知道为啥,直接在for循环中return就不行,就报错public class Solution { public boolean Find(int target, int [][] array) { int rowlength = array.length; int colength = array[0].length; for(int i=0;i<rowlength;i++) { for(int j=0;j.

2020-07-10 21:42:36 92

空空如也

空空如也

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

TA关注的人

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