算法
Higher?
想和你一起交流技术,一起来吧。
展开
-
力扣19题打卡-删除单链表的倒数第N个数
通过构造虚拟头指针法: 双指针法:快指针先走n步,再让快慢指针同时走。快指针到最后结束,再删除慢指针指向节点的下一个节点,完成。 class Solution { ListNode dimmynode = new ListNode(0); public ListNode removeNthFromEnd(ListNode head, int n) { dimmynode.next = head; ListNode low, fast; ..原创 2022-03-09 16:09:29 · 6736 阅读 · 0 评论 -
堆排序--很重要
import org.junit.Test; import java.util.Arrays; public class DuiPai { //主方法 public void LargeHeap(int[] arr){ if(arr == null || arr.length < 1){ return; } for (int i = 0; i < arr.length; i++.原创 2021-11-28 22:41:12 · 209 阅读 · 0 评论 -
二分查找--同样的套路
查找左右边界跟普通查找使用统一的边界控制,最简单。 建议按照流程画一下 并记住 public class ErFen { /** * 普通查找数值(找到就返回) * @param arr * @param L * @param R * @param T * @return */ public static int search(int[] arr, int L, int R, int T){ whi.原创 2021-11-27 10:43:37 · 442 阅读 · 0 评论 -
算法之小和问题
问题描述: 在一个数组中,每一个数的左边比当前数小的数累加起来,叫做这个数组的小和,求一个数组的小和。 例子:[1,3,4,2,5] 1左边比1小的数,没有; 3左边比3小的数,1; 4左边比4小的数,1,3; 2左边比2小的数,1; 5左边比5小的数,1,3,4,2; 所以小和为1 + 1 + 3 + 1 + 1 + 3 + 4 + 2 =16 public class XiaoHe { public static int process(int[] arr, int L, int R){原创 2021-11-25 17:54:00 · 222 阅读 · 0 评论