2020年10月6日

摘要: 递归 1、递归次数不要太多,太占内存 2、递归一定要有出口 3、构造方法不能递归使用 三种方法实现实例: package test17_digui; import java.util.Scanner; /* * 题目:有一对兔子,从出生后第3个月起每个月都生1对兔子,小兔子第三个月后也可以生一对兔子 阅读全文
posted @ 2020-10-06 17:53 kk20_625 阅读(691) 评论(0) 推荐(0)
 
摘要: 经典递归问题 递归需要满足 3 要素: 1、一个父问题可以拆分成若干个子问题,并且若干子问题的结果汇总起来就是父问题的答案。 2、父问题和子问题,解题思路必须完全一致,只是数据规模不同。 3、存在终止条件。 问题在不断拆分的同时,一定要在某个节点终止拆分,得到一个明确的答案。 问题一:假设有 n 个 阅读全文
posted @ 2020-10-06 17:50 kk20_625 阅读(147) 评论(0) 推荐(0)
 
摘要: 排序的第二天_快速排序与归并排序 快速排序 原理: 快速排序,说白了就是给基准数据找其正确索引位置的过程.,其实快速排序的本质就是把基准数大的都放在基准数的右边,把比基准数小的放在基准数的左边,这样就找到了该数据在数组中的正确位置. 以后采用递归的方式分别对前半部分和后半部分排序,当前半部分和后半部 阅读全文
posted @ 2020-10-06 16:06 kk20_625 阅读(118) 评论(0) 推荐(0)
 
摘要: HashMap在日常开发中基本是天天见的,而且都知道什么时候需要用HashMap,根据Key存取Value,但是存和取的时候那些操作却是很少去研究。同时在面试中也是面试官们必问的。 以下是基于JDK1.8 正文 先看看HashMap的结构图: 1. 先来认识一下HashMap中定义的一些需要了解的成 阅读全文
posted @ 2020-10-06 13:10 kk20_625 阅读(163) 评论(0) 推荐(0)
 
摘要: java实现一个简单的二分查找 public static int bsearch(int[] a, int n, int value) {//a是查找目标数组,n是数组长度,value是查找的值 int low = 0; int high = n - 1; while (low <= high) 阅读全文
posted @ 2020-10-06 13:00 kk20_625 阅读(117) 评论(0) 推荐(0)
 
摘要: hashcode返回值可能为负数 公司内部做服务优化,线上单机部署多个redis实例,路由到同一台机器上的用户,id号段假设为1000000~9999999,同一个的用户信息肯定是要固定到某个redis实例的,所以需要一个算法,保证每次选择的redis实例都是一样的。最容易想到的就是用id对redi 阅读全文
posted @ 2020-10-06 12:56 kk20_625 阅读(2467) 评论(0) 推荐(0)
 
摘要: 哈希碰撞与生日攻击 一、哈希碰撞是什么? 所谓哈希(hash),就是将不同的输入映射成独一无二的、固定长度的值(又称"哈希值")。它是最常见的软件运算之一。 如果不同的输入得到了同一个哈希值,就发生了"哈希碰撞"(collision)。 举例来说,很多网络服务会使用哈希函数,产生一个 token,标 阅读全文
posted @ 2020-10-06 12:51 kk20_625 阅读(372) 评论(0) 推荐(0)