随笔分类 - 设计模式及算法
摘要:不会的https://www.cnblogs.com/wzj4858/p/7676126.htmlhttps://www.cnblogs.com/wzj4858/p/7675872.html https://www.cnblogs.com/wzj4858/p/7723177.html 加深理解htt
阅读全文
摘要:public ArrayList printMatrix(int[][] matrix) { ArrayList result = new ArrayList(); if (matrix == null || matrix.length == 0 || matrix[0].length == 0)
阅读全文
摘要:1 package com.company; 2 3 import java.util.ArrayList; 4 import java.util.LinkedList; 5 import java.util.List; 6 import java.util.Queue; 7 import java
阅读全文
摘要:转载自:https://kb.cnblogs.com/page/129490/ 在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dep
阅读全文
摘要:利用改进的快排方法 public class QuickFindMaxKValue { public static void main(String[] args) { int[] a = {8, 3, 4, 1, 9, 7, 6, 10, 2, 5}; System.out.println(fin
阅读全文
摘要:Java排序算法 1)分类: 插入排序(直接插入排序、希尔排序) 交换排序(冒泡排序、快速排序) 选择排序(直接选择排序、堆排序) 归并排序 分配排序(箱排序、基数排序) 所需辅助空间最多:归并排序 所需辅助空间最少:堆排序 平均速度最快:快速排序 不稳定:快速排序,希尔排序,堆排序。 2)选择排序
阅读全文
摘要:1、时间复杂度 (1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时
阅读全文
摘要:一、设计模式的六大原则 1.1开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面
阅读全文
摘要:【基本问题单元的定义】这取决于你所查看问题的角度,找到一个划分,推进问题的角度十分重要。作者找到的方式是dp[ i ][ j ],用来表示 substring( i , j),然后站在这个角度,假设substring(i , j )中的最大的结果是知道的,那么下一步需要确定的是,其如何影响下一个阶段
阅读全文
摘要:x&(x-1)可以消去最右边的1, 如果判断一个数是否是2的指数的快捷方法,比如8,二进制位1000, 那么8&(8-1)为0,只要为0就是2的指数
阅读全文