![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
三天打鱼,两天晒网
这个作者很懒,什么都没留下…
展开
-
Java HashMap根据value获取key
根据Map的定义,我们可以知道Map是一组键值对,且key是唯一的,对应的value有且只有一个,但是相同的value可能对应不同的key。如果我们想通过key获取value,可以map.get(key)获得value。而如果需要通过value获取对应的key,则需要自己实现对应的方法。 下面,提供两种方法实现此需求。 方法1:public static Object getKey(Map ma原创 2017-12-18 18:16:23 · 77888 阅读 · 1 评论 -
【算法题】求旋转数组的最小数字,要求时间复杂度为O(logn)
题目描述定义:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。描述:输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。其它:给出的所有元素都大于0,若数组大小为0,请返回0。要求:时间复杂度O(logn)例如:输入:[3,4,5,1,2]输出:1输入:[4,4,5,6,6,7,2,3,4]输出:2思路分析要求时间复杂度为O(logn),首先我们想到的是二分法。mid = low + (high - low)/2我们接下来需要考虑三种情况:1. 第一原创 2021-01-16 20:06:39 · 386 阅读 · 0 评论 -
【算法题】二分查找及升级版
一、二分查找法(无重复数)1、算法思想针对一个有序数据集合a(无重复数),查找元素x的下标位置。我们可以将n个元素分成大致相等的两部分,取a[n/2]与x做比较,如果x=a[n/2],则找到了x,算法中止;如果x<a[n/2],则只要在数组a的左半部分继续搜索x;如果x>a[n/2],则只要在数组a的右半部搜索x。2、时间复杂度:O(logn)3、代码实现(Java)(1)通...原创 2020-03-18 21:36:16 · 376 阅读 · 0 评论 -
【剑指offer】从头到尾打印链表(Java)
剑指offer链接:从头到尾打印链表题目描述要求:时间限制:1秒 空间限制:32768K输入一个链表,按链表从尾到头的顺序返回一个ArrayList。前提:ListNode.javapublic class ListNode { int val; ListNode next = null; ListNode(int val) { this.va...原创 2019-11-20 19:33:12 · 349 阅读 · 0 评论 -
【剑指offer】替换空格(Java)
剑指offer链接:替换空格题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。方法一:直接用str.replace()替换。public class Solution { public String replaceSpace(StringBuffer str) {...原创 2019-11-20 18:48:41 · 170 阅读 · 0 评论 -
【剑指offer】二维数组中的查找(Java)
剑指offer链接:二维数组中的查找题目描述(时间限制:1秒 空间限制:32768K)在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。代码块:public class Solution { public boolean Find(int t...原创 2019-11-20 17:10:52 · 299 阅读 · 0 评论 -
【面试题】找出一个字符串中第一个只出现一次的字符的位置
问题:在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).解答:可以用HashMap统计每个字符对应的次数,然后再遍历这个map找出第一个。代码如下:public int FirstNotRepeatingChar(String str) { if (str == null |...原创 2019-03-20 20:19:27 · 7777 阅读 · 0 评论 -
【面试题】将一个无序整形数组的全部0移到末尾,并保持其它非0元素的相对顺序不变
问题描述: 将一个无序整形数组的全部0移到末尾,并保持其它非0元素的相对顺序不变。如:a={3,0,1,0,0,5,2,0,4,0},输出:{3,1,5,2,4,0,0,0,0,0}。解决思路: 在Java中,一般数组是不可以直接增删元素的,可以转换成ArrayList再进行增删操作。而在Python中,可以将np.array数组转换成list,再进行增删操作。先逐个遍历数组元素,判断是否为0,...原创 2019-09-05 17:06:48 · 3586 阅读 · 0 评论