把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
摘要:思路:1.遍历 public static int GetUglyNumber_Solution1(int index) { if(index<=0) { return 0; } int i=1; ArrayList <Integer> list=new ArrayList<>(); while(l
阅读全文
目录操作
摘要:创建目录 String directories = "D:\\a\\b\\c\\d\\e\\f\\g\\h\\i"; File file = new File(directories); boolean result = file.mkdirs(); dir.delete() 删除目录 判断目录是否
阅读全文
文件操作
摘要:文件写入 BufferedWriter out = new BufferedWriter(new FileWriter("nowcoder.txt")); out.write("牛客教程"); out.close(); 文件读取 BufferedReader in = new BufferedRea
阅读全文
数组相关
摘要:Arrays.sort() index=Arrays.binarySearch(array,2) 分段数组复制 System.arraycopy(original, 0, destination, 0, index); 数组反转 Collections.reverse(arrayList); 数组最
阅读全文
compareTo
摘要:相等 0 前 > 后 1 前<后 -1 对于 字符串 ,不相等返回首字母ascii码的差值
阅读全文
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 比如n=3时,2*3的矩形块有3种覆盖方法:
摘要:1.target=0 0 2.target=1 1 3.target=2 2 4.target>2 1.2*1竖着放,剩余的有f(target-1)种方法 2.2*1横着放,下面剩余的一块固定,剩下的有f(target-2)种方法 f(target)=f(target-1)+f(target-2)
阅读全文
从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行
摘要:思路:递归,扩容 增加一个deep参数,内部list数量与deep相同,每个深度对应一个list 根节点添加到list(deep-1),然后分别对其左右子树递归求每层的节点,深度每到一个孩子+1 import java.util.ArrayList; /* public class TreeNode
阅读全文
整数中1出现的次数
摘要:public class Solution { public int NumberOf1Between1AndN_Solution(int n) { int i=0; int a= (int) Math.pow(10,i); while(a<=n){ i=i+1; a=(int) Math.pow(
阅读全文
Java泛型(看着好有用)
摘要:你可以写一个泛型方法,该方法在调用时可以接收不同类型的参数。根据传递给泛型方法的参数类型,编译器适当地处理每一个方法调用。 所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明部分在方法返回类型之前(在下面例子中的<E>) public static void main(Stri
阅读全文
输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。
摘要:绝对最佳答案及分析: public class Solution { public int NumberOf1(int n) { int count = 0; while(n!= 0){ count++; n = n & (n - 1); } return count; } } 答案正确:恭喜!您提
阅读全文
String
摘要:String 转char String.copyvalueof(ch) char 转String string.toCharArray()
阅读全文
java集合
摘要:1.collection --List set List:有序,new ArrayList<>(); 转化位数组 toArray() .add() Set:无序重复 //第三种遍历 使用迭代器进行相关遍历 Iterator<String> ite=list.iterator(); while(ite
阅读全文
I/O
摘要:1.stream BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 输入: read(),readLine() //使用 BufferedReader 在控制台读取字符 import java.io.*
阅读全文
StringBuffer
摘要:string不能修改 ,只能创建新的更改指向 stringbuffer可以修改 常用方法 1 public StringBuffer append(String s) 将指定的字符串追加到此字符序列。 2 public StringBuffer reverse() 将此字符序列用其反转形式取代。 3
阅读全文
String类
摘要:常见方法: .length() 长度 .concat()/+ charAt(int e) indexOf() split() 切分根据 正则表达式 replace()替换 substring()截取 trim() 去掉空格 public class StringRegionMatch{ public
阅读全文
接口
摘要:1.接口不能实例化,接口内的方法必须抽象 2.接口实现 implements 可以实例化 3.接口可以多继承 4.标记接口是没有任何方法和属性的接口.它仅仅表明它的类属于一个特定的类型,供其他代码来测试允许做一些事情。 package java.util; public interface Even
阅读全文
抽象类
摘要:1.抽象类不能实例化 可以被继承 子类可以实例化 2.抽象方法 后面不是{}是分号 抽象方法所在类必须是抽象类 继承带有抽象方法的抽象类必须实现抽象方法
阅读全文
不用if/else swich for while实现累加
摘要:解题思路: 1.需利用逻辑与的短路特性实现递归终止。 2.当n==0时,(n>0)&&((sum+=Sum_Solution(n-1))>0)只执行前面的判断,为false,然后直接返回0; 3.当n>0时,执行sum+=Sum_Solution(n-1),实现递归计算Sum_Solution(n)
阅读全文
1.java数据结构
摘要:1.Enumeration接口 boolean hasMoreElements( ) Object nextElement( ) 2.Vector 类 创建 Vector() Vector(int size) Vector(int size,int incr) incr 每次增加的元素数量追加元素:
阅读全文
青蛙跳台阶问题
摘要:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法 1 public class test5 { 2 // 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 3 // f(1)=1
阅读全文
next与nextLine
摘要:next(): 1、一定要读取到有效字符后才可以结束输入。 2、对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。 3、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。 next() 不能得到带有空格的字符串。 nextLine(): 1、以Enter为结束符,也就是说 n
阅读全文
9.遗传算法
摘要:1.转化二进制 2.生成种群 3.计算存活率 淘汰一部分 4.交叉 交叉算子,位置 5.变异 变异算子 翻转比特 假设表示 属性等长二进制字符串,true 1 false 0 交叉算子 变异算子 轮盘赌选择 锦标赛选择 遗传编程: 程序表示: 解析树
阅读全文
8.基于实例的学习
摘要:1.k-近邻算法: 可以消除孤立的噪声样例的影响,可能出现维度灾难,近邻是多个不相干属性 连续值修改 2.距离加权最近邻算法 3.局部加权线性回归 4.径向基函数 核函数用高斯函数 5.消极算法 与积极算法的对比
阅读全文
7.计算学习理论
摘要:1.样本复杂度,计算复杂度,出错界限 样本复杂度 2.可能近似正确(PAC) 3.真实错误率 训练错误率: 样本错误率 4.一致学习器 变形空间: 详尽变形空间: 训练样本数目 5.不可知学习和不一致学习 hoeffding边界 6.无限假设空间的样本复杂度 Vapnik-Chervonenkis维
阅读全文
6.决策树(3)
摘要:1.贝叶斯信念网 区别于朴素贝叶斯,朴素贝叶斯假定属性独立于条件,贝叶斯信念网描述变量的一个子集上的条件独立(中间方法),可以用于在知道某些变量的值或分布时,计算网络中另一部分变量的概率分布 联合空间,联合概率分布 2.条件独立性 区别于朴素贝叶斯: 3.表示: parents是其直接前驱 4.贝叶
阅读全文
6.贝叶斯学习(1)
摘要:极大后验:(MAP) 似然度:P(D|h) 极大似然: 蛮力法:计算所有假设的后验概率,找出最大的一个输出 VS,D,和D一直子集
阅读全文
4.人工神经网络(多层)
摘要:sigmoid单元:阈值输出是输入的连续函数--挤压函数 导数: 反向传播算法: 误差: 缓解局部极小值: 1.增加冲量 2.使用不同的随机权值初始化每个网络 解决过度拟合: 1.训练数据 验证数据 2.小数据集 k-fold 交叉验证 其他可选误差和最小化过程
阅读全文
4.人工神经网络(1)
摘要:感知器 分类超平面? 感知器训练法则 要求线性可分,不是的话不能收敛 梯度下降和delta法则 曲面 单一全局最小值 最陡峭下降方向 训练误差 梯度:最陡峭上升方向 训练法则 调整:随着梯度下降减小学习速率 梯度下降随机近似: 下降步长小,不易陷入局部最优解 不用所有训练样本,改用单一 增量法则
阅读全文
3.决策树学习
摘要:决策树:逼近离散值目标函数 适用问题:离散值分类 选择分类能力最好的属性根节点 度量: 熵 正例反例 同属于一类0,正=反 1 优选偏置,限定偏置 过度拟合:随机错误,噪声 数据太少 解决: 尽早停止树增长 修剪: 1.错误率降低修剪 2.规则后修剪 转换成规则 合并连续值属性 定义新属性,区间中值
阅读全文
2.概念学习和一般到特定的排序
摘要:从训练样本归纳出定义 正例,反例,训练样例D,可能假设的集合H 假设数量:语法不同,语义不同 假设一般到特殊序 ≥g k是j子集 Find-S: 多个假设中的一个 初始化全反例 每个训练样本泛化到一致最特殊 不考虑反例 列表后消除算法: 列出所有消除反例 候选消除算法:与训练样例一直的所有假设集合,
阅读全文
Introduction
摘要:经验E, 任务T,性能P 设计一个学习系统 1.选择训练经验 属性:1.直接或间接反馈 2.学习器多大程度控制训练样例序列 (全部依赖,提出困惑,全新探索) 3.训练样本的分布与实际样本的是否相似 2.选择目标函数:西洋棋:最后的分数 3.选择目标函数的表示:线性函数,权重 4.逼近算法(学习算法)
阅读全文