【<算法>从零开始】20190714-1

132 阅读1分钟

直接刷Leetcode感受到了自己对算法了解的缺乏。 决定先领略一下这本经典算法圣经的魅力。

真的体会到了从零开始,甚至连一些大二课程内容都忘了。

寄希望于亡羊补牢为时不晚了。

开篇讲了一个欧几里得的寻找最大公约数的巧妙算法。 复习了一下负数的补码表示,方便了负数的加减法。

负数的补码表示:

对负数的相反数求原码;

按位取反;

末位加一; (真的得感叹下很神奇)

然后是一些基础知识,要注意if后条件的(),执行语句{}分割,末尾的分号等。

声明数组:

double[] a=new double[N];

初始化的情况等。

重载:同名函数,参数列表(个数/类型)的不同,调用时根据参数情况决定调用的函数。

类:静态方法库

与字符串进行+操作的内容会被强制转换成字符串类型

1+1+‘3’返回‘23’

//

java中可以被直接调用的方法都必须是静态的(static)

public修饰符说明是公开方法(废话)

main函数的标准格式

public class ClassName{ public static void main(String[] args){

}

}

args是定义的数组 作用是接收命令行参数然后再程序运行的时候进行参数传递,如果不传递参数则参数为空。

//

重定向:将标准输出重定向至文件或作为另一个程序的输入

% java RandomSeq 1000 100.0 200.0 >data.txt

管道:将一个程序的输出重定向为另一个程序的输入

% java RandomSeq 1000 100.0 200.0 | java Average

这样突破了计算机的存储限制

StdDraw:一个绘图库

    参考
    暮雪风的blog
    https://www.cnblogs.com/test-angel/p/9858611.html