- 博客(10)
- 收藏
- 关注
原创 Class.java及ClassLoader源码学习
1、Class类的说明 实例、接口都是class,枚举是类,注解是接口,数组和基本数据类型也是类。基本数据类型(Int、float、byte、short等)的类和数据类(Integer、Float等)不是一个class。Class.java的私有构造函数只能JVM去调用,objects是JVM自动创建的,但是classes是类加载器加载的。2、类运行时加载JVM动态加载体现在,Class t = Class.forName("java.lang.Thread")可以在运行时初始化类。...
2020-05-09 20:26:41 183
原创 M的N次方 快速幂算法
现有3的7次方,7=1+2+4,则7的二进制位0111,7右移一位是相当于除以2,依次右移相当于除以4,8,也就是说3的2次方,3的4次方,等等。如果幂为奇数,则每次多乘一次底数。public class PowMofN { public static void main(String[] args) { System.out.println(pow(3,7...
2019-09-27 11:57:12 2016
原创 华为笔试:字典排序 Hello hello world
题目描述对输入的单词进行字典序排序输出: 字典序定义 1. 单词中字母比较不区分大小写,两个单词先以第一个字母作为排序的基准,如果第一个字母相同,就用第二个字母为基准,如果第二个字母相同就以第三个字母为基准。依此类推,如果到某个字母不相同,字母顺序在前的那个单词顺序在前。 2. 当一个短单词和一个长单词的开头部分都相同(即短单词是长单词从首字母开始的一部分),短单词顺序在前。 3. 字母大...
2019-09-07 22:37:33 572
原创 查询(HashMap)和遍历(数组)
为了得到更快的执行速度,当查询某个元素多于遍历时可使用HashMap,HashMap的查询是根据哈希算法直接确定元素位置,不用和每一个元素作对比;当遍历某个元素多于查询时,可以使用数组直接读取数据元素,减少了计算元素地址的时间。以下为例子: 此题,用查询的方法比用遍历的方法代码更简洁也更快,此段代码在计算8个数的时候耗时1ms,如果纯使用数组计算的话耗时436ms。Hash...
2019-05-08 15:44:12 1223
原创 动态规划:最大子序列和最大子串 Java
最大子序列是指子串与母串相比顺序不变且子串的字符与母串相等。这里有字符串str1 = CNBLOG , str2 = BELONG,则它的最大子序列为BLOG,虽然N也相等但是顺序不对。最大子串指str1与str2相同且连续的部分,也就是LO。 求解最大子序列,先定义最大子序列长度LCS[i,j] = LCS[i-1,j] + 1 (str1[i]==str2[j]) 或 LCS[...
2019-01-24 11:15:45 1382
原创 动态规划:完全背包由01背包解决 Java
完全背包的三个for循环的解法参考文章动态规划:完全背包 Java,01背包的解法参考文章动态规划:01背包。01背包的状态转移函数为:Val[i][j] = max{Val[i-1][j],Val[i-1][j-w[i]+v[i]},即在背包剩余容量为 j 时,放入物品 i ,取放入物品 i 时和不放入时的最大值。01背包为了降低空间复杂度,可以使二维数组转变为一维数组来取得优化。此种优...
2019-01-22 15:40:04 602
原创 动态规划:完全背包 Java
完全背包问题是,有N种物品,体积为w,价值为v ,且每种物品都有无限件,那么,现在有体积为capacity的背包,怎么放物品每种物品放几件能使背包的价值Val最大。 动态规划的重点是找到递推关系式,完全背包的递推关系式为:Val[i][j] = max{Val[i-1][j-k*w[i]]+k*v[i]} 0<=k*w[i]<=j , 即,当背包的剩余容...
2019-01-22 11:23:47 863
原创 动态规划:01背包
01背包解决的问题是,当存在N个物品,且每个物品的重量为w[i],价值v[i],现存在一个包裹体积为capacity,那么如何放置物品可是包裹的价值最大。这里有一篇详细的参考文章:https://www.cnblogs.com/Christal-R/p/Dynamic_programming.html首先这里有一个递推关系式,Val[i][j]指的是物品 i 放在容量只剩下 j 的...
2019-01-14 16:58:25 224
原创 DAG路径输出(递归、深度优先搜索)
1、先定义图的节点,节点ID和下一节点号package dyfu.algorithm;import java.util.LinkedList;//图的节点public class Node { private Integer id; //节点 private LinkedList<Node> nextNode = null; //下一节点 private...
2019-01-11 09:44:30 1595 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人