随笔分类 - 算法笔记
摘要:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; }
阅读全文
摘要:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; }
阅读全文
摘要:import java.util.*; public class Main{ public static void main(String args[]){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ int sum = 0;
阅读全文
摘要:两个数组先按照数组2的元素顺序将数组1内的元素首先排序,剩下不存在的元素再升序排列 计数排序,先声明没个元素最大值个数长度的数组,利用下标值在数组内存储元素个数。 比照数组2顺序将,从存储个数的数组内拿取并放置在数组1中 再按照个数数组剩余元素按顺序升序输出放置。 class Solution {
阅读全文
摘要:基础不太行,重写比较方法 class Solution { public int[][] merge(int[][] intervals) { Arrays.sort(intervals,new Comparator<int []>(){ public int compare(int[] a,int
阅读全文
摘要:有一点对数组的用法与Math方法取整用法记录一下吧 class Solution { public int minEatingSpeed(int[] piles, int h) { int left =0; int right = Arrays.stream(piles).max().getAsIn
阅读全文
摘要:就记录一下,二分法的用法以及前缀和的用法。 这个题的概率问题,依靠前缀和法把w的每个元素的 概率问题依靠向前求和 然后使用二分法,找出random生成元素的所在位置下标即可。 class Solution { int[] w; public Solution(int[] w) { for(int i
阅读全文
摘要:话不多说,直接看差别,下面用的暴力法,上面是用差分法,数学问题,其实也没太看懂具体什么原理 看程序,只能有一点粗浅的认识 class Solution { public int[] corpFlightBookings(int[][] bookings, int n) { int[] nums =
阅读全文
摘要:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) {
阅读全文
摘要:插入算法 public void insertionSort(int[] array){ for(int i = 1;i<array.length;i++){ int cur = array[i]; int insertionIndex = i-1; while(insertionIndex >=
阅读全文
摘要:设计的知识点 a|=b的意义是a = a | b 将int数值,作为二进制进行比较,各位不同时返回1 int a = 5; // 0000 0101 int b = 3; // 0000 0011 a |= b; // 0000 0011 &=与|比较方式相同,逻辑相反 两位不同时直接返回0 int
阅读全文
摘要:这是我的废物写法 class RecentCounter { Deque<Integer> sta; public RecentCounter() { this.sta = new LinkedList<>(); } public int ping(int t) { int res = 1; Deq
阅读全文
摘要:思路: 遍历数组 用栈存储一个递增的数组下标,当出现小于最大值时,一次弹出栈,以弹出值高度乘以当前遍历数组位置的i的距离,判断最大值与否 class Solution { public int largestRectangleArea(int[] heights) { int maxare = 0;
阅读全文
摘要:class Solution { public int[] dailyTemperatures(int[] temperatures) { Deque<Integer> sta = new LinkedList<>(); int[] res = new int[temperatures.length
阅读全文
摘要:给定一个整数数组 asteroids,表示在同一行的小行星。对于数组中的每一个元素,其绝对值表示小行星的大小,正负表示小行星的移动方向(正表示向右移动,负表示向左移动)。每一颗小行星以相同的速度移动。找出碰撞后剩下的所有小行星。碰撞规则:两个行星相互碰撞,较小的行星会爆炸。如果两颗行星大小相同,则两
阅读全文
摘要:根据逆波兰表达式,求该后缀表达式的计算结果。 有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。 依靠示例读懂题 示例 1:输入:tokens = ["2","1","+","3","*"]输出:9解释:该算式转化为常见的中缀算术表达式为:((2 + 1) * 3
阅读全文
摘要:有序升序环链表,找到最小头 Node newhead = null; Node slow = head; Node fast = head.next; while(fast.val >= slow.val){ slow = slow.next; fast = fast.next; if(fast =
阅读全文
摘要:一歪脑袋是二叉树,哈哈,其实我没发现,但是也是用递归,并不优雅的递归,后来受大佬的启发 /* // Definition for a Node. class Node { public int val; public Node prev; public Node next; public Node
阅读全文
摘要:偶数找偏左,奇数找中点 ListNode slow = head; ListNode fast = head.next; while(fast != null && fast.next != null){ slow = slow.next; fast = fast.next.next; } 偶数找偏
阅读全文
摘要:我告诉自己,自己写的这个一定要记录下来,,,不为别的,只是因为我太憨了。这个题我一开始的想法,是根据这一条链表,反转新建一条新链表,然后两个开始遍历,结果后来发现,在反转的时候head这个链表就已经发生改变了,虽然我ListNode op = head,但是这个op还是在操作head。并没有重新建一
阅读全文

浙公网安备 33010602011771号