java面试
Abbiesdiary
这个作者很懒,什么都没留下…
展开
-
插入排序 Java
思想:每次处理一个元素。从当前处理元素的位置往前找,比较各个值,找到当前元素适合的位置进行插入,其他元素往后面移一位。class Solution { public int[] sortArray(int[] nums) { insertSort(nums); return nums; } private void insertSort(int[] nums) { int n = nums.length; if原创 2021-03-16 10:08:39 · 124 阅读 · 0 评论 -
选择排序 Java
思想:选择排序和冒泡排序的思想有点相似。选择排序只在确定最小数的前提下,进行一次交换,相比冒泡排序的交换次数减少。时间复杂度O(n^2)。class Solution { public int[] sortArray(int[] nums) { selectSort(nums); return nums; } private void selectSort(int[] nums) { int n = nums.length;原创 2021-03-12 11:36:29 · 115 阅读 · 0 评论 -
冒泡排序 Java
解题思路:可以从左到右依次冒泡,把较大的数往右边挪动即可。如果上一次比较过程没有发生交换,说明已经排好序原创 2021-03-06 20:39:53 · 110 阅读 · 0 评论 -
快速排序 java
如何选择枢纽?如何找到比枢纽大的数和比枢纽小的数,并把比枢纽大的数放在枢纽后面,把比枢纽小的数放枢纽前面?class Solution { public static void quickSort(int[] arr, int left, int right) { if (arr.length<=1 || left>right) { return; } int mid = partition(arr, le原创 2021-03-04 16:25:01 · 119 阅读 · 1 评论 -
Java面试题——HashMap是怎么解决哈希冲突的?
什么是哈希?Hash,一般翻译为“散列”,也有直接音译为“哈希”的,这就是把任意长度的输入通过散列算法,变换成固定长度的输出,该输出就是散列值(哈希值);这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。所有散列函数都有如下一个基本特性:根据同一散列函数计算出的散列值如果不同,那么输入值肯定也不同。但是,根据同一散列函数计算出的散列值如果相同,输原创 2021-01-30 15:26:58 · 830 阅读 · 0 评论 -
Java面试题——HashMap与HashTable的区别?
HashMap没有考虑同步,是线程不安全的;Hashtable使用了synchronized关键字,是线程安全的; HashMap允许Key/Value都为null;Hashtable不允许Key/Value为null; HashMap继承自AbstractMap类;而Hashtable继承自Dictionary类。参考:https://mp.weixin.qq.com/s/qZG0xJnUxtj8ScVLZSRotg...原创 2021-01-30 15:21:41 · 97 阅读 · 0 评论 -
Java面试题题——常见集合
原创 2021-01-30 15:19:43 · 85 阅读 · 0 评论