![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
miao-hu
这个作者很懒,什么都没留下…
展开
-
【字节面试题】字符串中由字母组成的子串反转,其他字符原样输出
题目:给定一个字符串求:字符串中由字母组成的子串反转,其他字符原样输出样例:Input str = "234_sfss/_3333"public String wordReverse(String inputStr){ String str=new String(inputStr); StringBuffer s=new StringBuffer(); int a=0; for(int i=0;i<str,length();i++){ if((str.charAt(i)<='Z原创 2020-10-25 11:10:55 · 633 阅读 · 2 评论 -
面试官【谈谈你所理解的 TopK 问题】
在实际工作中,经常会遇到在海量数据中找出前K个最值的问题。对于此类问题,可能我们一般想到的算法是排序算法,首先给数据进行排序,再去获取k个最值轻而易举。但是当问题的规模内存中放不下时,普通的内排序就无法进行。对于海量数据的topk问题,一种常用的做法是借助堆解决。1.原理如果需要获取最大的k个值,可以建小堆。否则,建大堆。我们以获取k个最大值为例,进行原理说明。首先读入前k个数据存入一个最小堆。然后遍历后续的数据,对于每一个遍历的数据,都和堆顶(k个数据中最小的)数据比较,如果比堆顶数据小,则继续原创 2020-07-19 10:50:18 · 256 阅读 · 0 评论 -
腾讯经典考题《编写代码求最大连续子序列》
1.什么是最大连续子序列?最大连续子序列问题是一个非常经典的问题,需要求解出一个数组中的最大连续子序列的和。比如数组{6, -3, -2, 7, -15, 1, 2, 2},它的最大连续子序列为{6,-3,-2,7},和为8。2.解题思路(1)暴力搜索最大连续子序列的和只可能从数组0到n-1中某个位置开始,我们可以遍历0到n-1个位置,计算由这个位置开始的所有连续子序列中的和的最大值,最终求出全局最大值即可。更详细的讲,就是计算从位置0开始的最大连续子序列的和,从位置1开始的最大连续子序列的和…。直原创 2020-07-12 22:16:30 · 222 阅读 · 0 评论 -
面试再也不怕被问 HashMap 了
具体问题如下:1.HashMap的内部数据结构数组 + 链表/红黑树2.HashMap允许空键空值么HashMap最多只允许一个键为Null(多条会覆盖),但允许多个值为Null3.影响HashMap性能的重要参数初始容量:创建哈希表时桶的数量(数组的大小),默认为 16负载因子:哈希表在其容量扩容之前可以达到一种尺度,默认为 0.754.HashMap的工作原理HashMap是基于hashing的原理,我们使用put(key, value)存储对象到HashMap中,使用get(ke原创 2020-06-30 09:54:55 · 362 阅读 · 1 评论 -
【算法】斐波那契数列
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。分析:斐波那契数列的标准公式为:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)数列如下:0 1 1 2 3 5 8 13 21 34 55 89…方法一(递归):public class Solution { public int ...原创 2020-04-26 09:51:14 · 369 阅读 · 0 评论 -
【排序算法】桶排序
一.算法思想一句话总结为:划分多个范围相同的子区间,每个子区间自排序,最后合并即可。桶排序每个桶内存储一定范围的元素,通过映射函数,将待排序数组中的元素映射到各个元素分别对应的桶中,对每个桶中的元素进行排序,最后将非空桶中的元素逐个放入原序列中即可。桶排序需要尽量保证元素分散均匀,否则当所有数据集中在同一个桶中时,桶排序失效。桶排序 (Bucket sort):工作原理是将待排序序列分到有限...原创 2020-04-24 15:48:43 · 340 阅读 · 0 评论 -
【算法题】把数组排成最小的数
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。import java.util.ArrayList;import java.util.List;import java.util.Collections;import java.util.Comparator;p...原创 2020-04-17 18:04:24 · 134 阅读 · 0 评论 -
八大排序算法
一.稳定性二.七大排序的思路与其基本实现1.直接插入排序原理:整个区间被分为 (1)有序区间 (2)无序区间每次选择无序区间的第一个元素, 在有序区间内选择合适的位置插入即可代码实现:public static void insertSort(int[] array){ for(int i=1;i<array.length;i++){ ...原创 2020-03-01 22:31:38 · 161 阅读 · 0 评论 -
字符流中第一个不重复的字符
一.题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。输出描述:如果当前字符流没有存在出现一次的字符,返回#字符。二.程序代码import java.util.Map;import java.util.LinkedHa...原创 2019-12-20 10:58:06 · 229 阅读 · 0 评论