继续算法路程。今天看了一个关于理财的视频,看了之后感觉好多人宁愿花10几年甚至一辈子去关注一个产品,去没有人愿意花一点时间投资自己。哪怕你对产品再怎么了解,那也是别人的,你得到回报对于所有者而言也只是极少的一部分。投资自己,可能周期长,会很枯燥,但是多少都是自己的。可能个人理解不一样吧(当然了,我炒股也让自己学习了好多东西,不知道这玩意算不算投资自己。。。)
今天的题目
数组中出现次数超过数组长度一半的数字
大体思路跟之前的数组题差不多,也是键值对存起来,然后跟数组长度比较,超过就输出呗(抠鼻。。)
public class Test{
public static void main(String[] args){
//给个数组就灿烂
int[] count = {1,2,2};
//老三步之第二步,给个HashMap集合
Map<Integer,Integer> map = new HashMap<>();
//遍历数组,键值对存储 key-数字 value-出现次数
for(int i = 0 ;i < count.length;i++){
//获得当前数字的value值
Integer num = map.get(count[i]);
if(num == null){
map.put(count[i],1);
}else{
map.put(count[i],num + 1);
}
}
//遍历集合,获得出现次数超过数组长度一半的数字
for(Integer x : map.KeySet()){
if(map.get(x) > count[i].length/2){
System.out.println("x");
}
}
}
}
这几天的算法题可能都会有这种方法解决,毕竟还是个学渣,能走我就先走着,至于跑,那还要过一阵子,希望自己可以戒骄戒躁,坚持下来吧。
这几天发现,在掘金写下自己的历程,积极性高点,可能除了会记录自己学算法和敲代码的过程,以后也会记录一下自己其他的事情,可能过一两年再过来看看,就会发现当初的自己虽然没有多么出色,但是也一直没有停下前进的脚步。
希望以后的自己看到这里,能专门写一篇文章写一写自己这些年的经历和感慨吧。