
面试算法
LeetCode100题!
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二分法递推写法
class Solution { public static void main(String[] args) { int[] num = {1,2, 3, 4, 5}; System.out.println(new Solution().find(num, 0, 4, 9)); } public int find(int[] num, int left, int right, int target){ if(left == right原创 2020-06-02 17:20:52 · 322 阅读 · 0 评论 -
合并N个长度为L的有序数组为一个有序数组
https://www.cnblogs.com/guoyaohua/p/8618977.html 方案一: 新建一个N*L的数组,将原始数组拼接存放在这个大数组中,再调用Arrays.sort()进行排序,或者使用其它排序方法即可。 其实这个题与合并链表很像,但是如果没有指定每个数组的长度,做起来就不太方便,所以一般的前提就是数组长度是一致的 class Solution { public int[] merge(int[][] array) { int len = array.le原创 2020-06-01 23:11:50 · 1081 阅读 · 0 评论 -
写一个死锁
import java.util.*; class Single { public static void main(String[] args) { //注意如果不用final来修饰 List<Integer> list1 = Arrays.asList(1,2,3); List<Integer> list2 = Arrays.asList(4,5,6); new Thread(new Runnable(){原创 2020-05-17 22:27:52 · 192 阅读 · 0 评论 -
弹球距离
设有一个球从高度为h米的地方落下,碰到地面后又弹到高度为原来p倍的位置,然后又落下,再弹起,再落下…。请编写函数求初始高度为h的球下落后到基本停下来(高度小于给定阈值TOL)时在空中所经过的路程总和。 实际也是满足等比数列的 double getDistance(double h, double p){ //h表示开始高度,p表示下次弹起的比例 if(h*p < 0.001){ //假设0.001为最小值 return h原创 2020-05-14 19:06:24 · 1529 阅读 · 0 评论 -
计算栈当前元素的最大值,最小值
题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 注意:保证测试中不会当栈为空的时候,对栈调用pop()或者min()或者top()方法。 最大值最小值方法是相同的 import java.util.*; public class Solution { ArrayDeque<Integer> st1 = new ArrayDeque<>(); ArrayDeque<Integer> st原创 2020-05-14 16:40:48 · 436 阅读 · 0 评论 -
自己实现一个栈
1.使用LinkedList来实现 其实是利用其addLast方法 对于list, 依次加入1, 2, 3,list.add()实际是list.addLast(); class MyStack{ private LinkedList<Integer> list = new LinkedList<>(); public MyStack(){ } public boolean isEmpty(){//判断是否为空 return list.原创 2020-05-14 15:47:24 · 256 阅读 · 0 评论 -
十进制-64进制的转变
public class Main{ //0-9,a-z, A - Z, public static void main(String[] args) { String st = "Aa"; System.out.println(calcu(st, 10)); } static int calcu(String st, int bas...原创 2020-04-18 21:19:02 · 696 阅读 · 0 评论