当一件事情发生之后,你所要做的是什么?是站队选边吗?那也许太过于肤浅。
你更需要的是尽可能多地搜集资料,去倾听双方的声音,并且不急于判定好坏,这实际就是思考的过程,否则你所看到的就只是浮在冰山上的一角,甚至误以为这就是所谓的是与非。
现实中,从来就不缺乏表明立场的人,缺乏的反而是理性而又平和地对话。
上午照例完成了mooc上面的英语课程,之后本来是要找一款免费网络电话(因为小米电话加油包停止服务了)就去MIUI论坛上面逛逛,偶然看到MIUI9更新了,很是激动啊,毕竟一直听说MIUI9快如闪电!于是赶紧下载,卡刷,上手体验。还真是的呀!确实快了不少,当然也有一些小问题,不过还是开发版嘛,可以忍受。
中午吃过饭,因为最近想要了解一点经济方面的知识,听过这么一句话“你不理财,财不理你”。有钱的人大都懂得一些投资理财的知识,以后也需要赚钱、养钱,不懂点相关知识实在说不过去。于是 在mooc上面搜索一下,找到了中央财经大学的经济学基础的课程,看着听的人达到了四万左右,应该是人气最大的了吧。把第一章节的 为什么要学习经济学、 怎样学好经济学、 要学习的课程结构、 考核方式、 这四部分的课程看完了。看完这一部分倒没有什么很大感触,只记得其中一点说全球排名前1000的银行,欧盟最多-有二百多家、英国-有一百多家、日本-有一百多家、发展中国家-中国-有一百多家、也就是说作为其中唯一的发展中国家,中国的经济发展速度以及目前的经济实力都已经达到了一个很高的水平。
下午把深入理解计算机系统的第四章《处理器体系结构》部分接着看了,大致看了Y86-64指令集体系结构(ISA-Instruction-Set Architecture)了解到定义一个指令集体系结构包括定义各种状态单元、指令集和它们的编码、一组编程规范和异常事件处理。 接下来看了 逻辑设计与硬件控制语言HCL在这一部分了解到要实现一个数字系统需要三个主要的组成部分:计算对位进行操作的函数的组合逻辑、存储位的存储器单元、控制存储器单元更新的始终信号。 Y86-64的顺序现实,这一部分也没看懂,,,
最后,比较重要的刚才忘记写了。做了一道程序题,题目是这样的:给你两个string串,让你自由调整两个串中的字符,使得最后两个串相等的话输出true
,否则输出false
。刚开始没有任何思路,于是就是去看讨论(有句话大意是说,我们所学来的知识大都是通过模仿学习而来的。所以我就去看,就去模仿,我是赞同这句话的。)看了第一页的讨论,总结下来共有三种方法,第一种:这些字符无非在ascii
码的256种之内,所以就定义两个int
类型大小为256的数组。来记录每一个串中字符出现的次数,最后比较两个int
数组对应位置大小是否一样,也就是比较它们两个串中是否字符完全相同。(好像没描述清楚,我之后再来组织语言描述)第二种方法,将两个串转换为char
数组,然后排序(调用Arrays.sorts(a)
)比较排序之后的char
数组对应位置(Arrays.equals(a,b))。
==
和equals()
方法比较:
简单来讲==
是专门用来比较两个变量的值是否相等,也就是比较变量所对应的内存中所存储的数值是否相等。要比较两个基本类型数据或者引用变量是否相等,只能使用==
操作符。
equal()
比较的是两个独立对象的内容是否相等,它比较的是两个独立的对象。
如果一个类没有定义equal
方法,那么它将继承object
的equal
方法。而object
的equal方法定义如下:boolean equals(Object o){ return this==o; }
第三种方法,原理同第一种,只是使用了另外一个数据结构hashmap
,现在突然发现了题代码里面的bug
,A串把每一个字符加进HashMap<character,Integer>
中并记录个数,但是B串containsKey
时,直接就remove
掉了,那么个数呢?不判断个数了吗?我认为应该修改为判断存在之后将HashMap
中对应的字符的个数减1,最后遍历,看所有的记录个数是否都是0,若全部为0则返回true
,否则返回false
。