
面试
无心浪人
这个作者很懒,什么都没留下…
展开
-
topk问题
找前k个最大值,建一个大小为k的小堆;找前k个最小值,建一个大小为k的大堆;思路:找前k个最大值为例先取前K个数,进行键小堆,然后依次往后遍历,每次取一个元素,然后和堆顶元素进行比较,若比堆顶元素小,则继续往后遍历,大的话,将堆顶元素与堆的最后一个元素互换,然后将最后一个元素弹出,在进行调整堆,使得堆依然是一个小根堆。再继续往后遍历,依次循环。直到遍历完为止。例如给一个数组,求数组前K个最大值 public static void topK(int[] array,int k) {原创 2021-03-14 18:03:29 · 137 阅读 · 0 评论 -
有效的括号(括号匹配)
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。遍历字符串,如果是左括号,则入栈,有括号的话看他是否与栈顶的左括号匹配,若匹配将其弹出栈,继续往后遍历字符串,当字符串遍历完且栈为空的时候,说明匹配。class Solution { public boolean isValid(String s) { Stack<Character>原创 2021-03-07 18:15:06 · 368 阅读 · 1 评论 -
装箱拆箱
装箱;把简单类型包装成对应的包装类自动装包/装箱:也调用了Integer.valueOf方法;int a=10; Integer b=a;显示装包/装箱: Integer b=new Integer(a);或者Integer b=Integer.valueOf(a);拆箱:包装类变为普通类自动拆箱:Integer b=10;int a=b;显示拆箱:int a=b.intValue();面试题:Integer b=139;Integer a=139;System.out.println(原创 2021-03-05 23:46:01 · 101 阅读 · 0 评论 -
删除第一个字符串当中出现的第二个字符串中的字符
删除第一个字符串当中出现的第二个字符串中的字符例如;String s1="welcome to bit";String s2="come";输出: “wl t bit”;思路:拿着s1的字符每个字符,看s2中是否包含这个字符,若不包含则将这个字符加入到ArrayList当中;import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class Stringdeleted {原创 2021-03-05 16:50:04 · 465 阅读 · 0 评论