java刷code
或许快要下雪了吧
这个作者很懒,什么都没留下…
展开
-
0320 java 滑动窗口
209Given an array of n positive integers and a positive integer s, find the minimal length of a contiguous subarray of which the sum ≥ s. If there isn’t one, return 0 instead.Example:Input: s = 7, ...原创 2020-03-21 04:01:47 · 142 阅读 · 0 评论 -
0318 KMP
最终还是选择用java而不是python,其实没有什么难不难,当初学个乘法口诀也是很难,人总是要不断进取的。希望在美国找工作顺利一、基础知识二、codepackage basic_class_02;public class Code_01_KMP { public static int getIndexOf(String s, String m) { if (s =...原创 2020-03-19 05:15:53 · 124 阅读 · 0 评论 -
Code_11_MaxGap 相邻两数最大插值 高频面试题
一、概念理解二、代码package basic_class_01;import java.util.Arrays;public class Code_11_MaxGap { public static int maxGap(int[] nums) { if (nums == null || nums.length < 2) { return 0; } int...原创 2020-01-24 03:10:33 · 199 阅读 · 0 评论 -
Code_10_GetAllNotIncluded
寻找连个有序数组A,B,两者不重复的部分package basic_class_01;import java.util.ArrayList;import java.util.Arrays;import java.util.HashMap;import java.util.List;public class Code_10_GetAllNotIncluded { public s...原创 2020-01-24 02:33:20 · 218 阅读 · 0 评论 -
Code_09_Comparator
一、基础知识参考二、代码package basic_class_01;import java.util.Arrays;import java.util.Comparator;public class Code_09_Comparator { public static class Student { public String name; public int id; ...原创 2020-01-24 01:37:48 · 104 阅读 · 0 评论 -
Code_06_BucketSort
一、概念理解二、代码 // only for 0~200 value public static void bucketSort(int[] arr) { if (arr == null || arr.length < 2) { return; } int max = Integer.MIN_VALUE; for (int i = 0; i < arr.le...原创 2020-01-22 06:50:20 · 120 阅读 · 0 评论 -
leetcode88 - Merge Sorted Array - easy 两种方法
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.Note:The number of elements initialized in nums1 and nums2 are m and n respectively.You may assume that ...原创 2020-01-22 06:08:18 · 127 阅读 · 0 评论 -
leetcode21- Merge Two Sorted Lists- easy
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.问清楚需不需要创造新节点。算法比较简单,比较后接上即可,就是小心心里跑一下corner case,看[][], []...原创 2020-01-22 05:56:39 · 112 阅读 · 0 评论 -
Code_05_MergeSort 归并排序
归并排序相比快排 有一个最后合并的过程 需要额外的空间O(N)九章的代码没有牛客网的精简 思路一样代码二package basic_class_01;import java.util.Arrays;public class Code_05_MergeSort { public static void mergeSort(int[] arr) { if (arr == n...原创 2020-01-22 04:47:10 · 206 阅读 · 1 评论 -
lintcode merge-k-sorted-lists 三种方法解读
java的get和set就是一般用于private 对于一个class 操作 变量 进行操作第一种方法 每次在每个列表中选一个最小值定一个初始值 一开始只放k个值,开好空间----Heapsort在节点ListNode定义中,定义为节点为结构变量。节点存储了两个变量:value 和 next。value 是这个节点的值,next 是指向下一节点的指针,当 next 为空指针时,这...原创 2020-01-21 08:56:03 · 468 阅读 · 0 评论 -
未完 动归 vector lintcode median of two sorted arrays(两个有序数组的中值)
题目There are two sorted arrays A and B of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).有两个排序的数组A和B分别是m和n。找到两个排序数组的中值。总的运...原创 2020-01-21 05:55:40 · 106 阅读 · 0 评论 -
lintcode Median
给定一个未排序的整数数组,找到其中位数。中位数是排序后数组的中间值,如果数组的个数是偶数个,则返回排序后数组的第N/2个数。样例给出数组[4, 5, 1, 2, 3], 返回 3给出数组[7, 9, 4, 5],返回 5挑战时间复杂度为O(n)与求第k大数思路一样,利用快速排序的分治思想,快速排序时间复杂度为O(nlogn),此题要求O(n),因此每次只需对一半数据进行排序,这里不再...原创 2020-01-21 05:00:54 · 85 阅读 · 0 评论 -
LintCode31 partitionArray 数组划分
给出一个整数数组 nums 和一个整数 k。划分数组(即移动数组 nums 中的元素),使得:所有小于k的元素移到左边所有大于等于k的元素移到右边返回数组划分的位置,即数组中第一个位置 i,满足 nums[i] 大于等于 k。注意事项你应该真正的划分数组 nums,而不仅仅只是计算比 k 小的整数数,如果数组 nums 中的所有元素都比 k 小,则返回 nums.length。样例...原创 2020-01-21 00:37:14 · 211 阅读 · 1 评论 -
lintcode5 - Kth Largest Element - medium
基础知识补充if:就是一个判断的,如果满足后面的条件就继续运行if语句里面的东西的,要是不满足就跳出来,执行else语句或执行下面的语句的 。while:就是循环语句的,当满足while里面的条件时,就会执行里面的循环体的,直到条件不满足为止。左右都取等号 避免 极端情况在这里插入代码片...原创 2020-01-19 02:33:01 · 207 阅读 · 1 评论 -
Code_04_QuickSort 经典快排 随机快排
一、随机快排思路和批注二、自己的代码和思考前提条件:给定一个无序数组arr•取这个数组最后一个数 num 作为标准,将前面部分的数分为两部分,使得<=num的部分在左边,>num的数在右边;•然后将最后一个数和>num部分的第一个数进行交换,就使得原本在数组最后位置的num找到了正确的位置,它的左边都是比它小的以及和它一样的数,右边都是比它大的数•回到1,进行递归或迭代...原创 2020-01-18 06:11:37 · 132 阅读 · 0 评论 -
Code_03_HeapSort 堆排序
一、基础知识删除中间的是 要比较一下是大根堆还是小根堆 上下调整值不能重复 index来找堆的结构基本上固定 不用建立一个带指针的二叉树结点12 34 5 6 7垃圾 图片上传失败 3/2 =1父节点 32=6子节点 32+1 右子节点直接参考这个 好文章package basic_class_01;import java....原创 2020-01-18 03:32:21 · 140 阅读 · 0 评论 -
基础班 lintcode159&160 - Find Minimum in Rotated Sorted Array- medium
二分法维持一个查询区间,并不断地按照某种标准对区间进行删减(二分),过程中保证最小值始终处于区间内。当区间缩小到只有两个值时,进行一次比较就可以获得答案。起始区间即为输入区间,两个端点分别是 start(index = 0) 和 end(index = nums.length - 1)。当前所发现的最小值即为数组的最后一个值。取区间中间值 mid(index = start + (end - ...原创 2020-01-17 05:30:30 · 115 阅读 · 0 评论 -
基础班 lintcode74- First Bad Version- medium
The code base version is an integer start from 1 to n. One day, someone committed a bad version in the code case, so it caused this version and the following versions are all failed in the unit tests....原创 2020-01-17 04:39:32 · 126 阅读 · 0 评论 -
基础班 lintcode458- Last Position of Target- easy
111 start=1 end=1(start+end)/2 两者都很大时候可能java里面计算结果会偏左 (0+1)/2=0如果mid 是了 我还想知道,会不会还有,mid+1到end 万一中间这个就是最后一个注意找的是最后一个target所以只能挪到mid很容易出现死循环 mid偏左 111 没有动过位置因此结束条件只能写成 start+1<end...原创 2020-01-17 03:55:10 · 125 阅读 · 2 评论 -
Code_08_NetherlandsFlag 荷兰国旗问题
一、基础知识参考二、代码package basic_class_01;public class Code_08_NetherlandsFlag { public static int[] partition(int[] arr, int l, int r, int p) { int less = l - 1; int more = r + 1; while (l < ...原创 2020-01-16 11:39:59 · 291 阅读 · 2 评论 -
Code_02_SelectionSort 选择排序
一、基础知识参考二、代码package basic_class_01;import java.util.Arrays;public class Code_02_SelectionSort { public static void selectionSort(int[] arr) { if (arr == null || arr.length < 2) { retur...原创 2020-01-16 11:12:37 · 180 阅读 · 0 评论 -
lintcode8 - rotate string - easy
Given a string and an offset, rotate string by offset. (rotate from left to right)ExampleGiven “abcdefg”.offset=0 => “abcdefg”offset=1 => “gabcdef”offset=2 => “fgabcde”offset=3 => “e...原创 2020-01-16 02:23:47 · 101 阅读 · 0 评论 -
基础班 lintcode39 - Recover Rotated Sorted Array - easy
时间复杂度O(N)是一定的关键是空间复杂度如果 直接copy一个数组中再copy回来 很简单 但是浪费空间老师说记住就行了… 三步翻转法基础知识补充User u = new User(); u.setXXX(); u.getXXX(); 你想给他赋值就用u.setXXX(); 取这个类的对象的某个值 就getpublic class Solution{ public char...原创 2020-01-16 02:11:10 · 131 阅读 · 0 评论 -
leetcode240- Search a 2D Matrix II- medium
Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:Integers in each row are sorted in ascending from left to right.Integers in each c...原创 2020-01-16 01:13:13 · 134 阅读 · 0 评论 -
基础班 lintcode38- Search a 2D Matrix II - medium
Write an efficient algorithm that searches for a value in an m x n matrix, return the occurrence of it.This matrix has the following properties:Integers in each row are sorted from left to right.In...原创 2020-01-16 00:28:52 · 113 阅读 · 0 评论 -
Code_01_InsertionSort 插入排序
插入排序(Insertion sort)是一种简单直观且稳定的排序算法。如果有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到一种新的排序方法——插入排序法,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。稳定的排序方法。插入算...原创 2020-01-15 11:31:52 · 136 阅读 · 0 评论 -
Code_00_BubbleSort 冒泡排序
冒泡排序它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。//冒泡排序for(int e=arr.length-1,i>0;e--){ for(int i=0;i<e;i++){ if(arr[i]>ar...原创 2020-01-15 08:13:30 · 265 阅读 · 1 评论 -
基础班 strStr算法实现
hash function 把一个string对应到某一个位置 ,然后下次他来的时候还是这个位置,可以检查看是否存在于整个数组当中字符转换成整数 0-255 一个字节 可以直接乘 出来就是整数 语言会自动转换 乘以任何数字都可以 这里31是常用的,基数num效率最高,效果最好这个结果可能很大 超出证书的范围 取模模2出来一半是0一半是1 不够比较 除以一个比较大的数...原创 2020-01-15 06:32:54 · 158 阅读 · 0 评论 -
基础班 Subsets 给定一个含不同整数的集合,返回其所有的子集
//用的搜索算法 深度优先搜索 寻找xxx 仍然考你是否会写递归class Solution{ public ArrayList<ArrayList<Integer>> subsetsWithDup(int[] nums){ //把所有的都找出来再去重,[1,1,1,1,1]的子集2^5时间复杂度极高 //return 一个result ArrayLi...原创 2020-01-15 05:21:22 · 398 阅读 · 0 评论 -
leetcode 两个链表相交的一系列问题
public class code_14_FindFirstIntersectNode{ public static class Node{ public int value; public Node next; public Node(int data){ this.value=data; } } public static getIntersectN...原创 2020-01-14 11:39:17 · 189 阅读 · 0 评论