
算法
dagecao
这个作者很懒,什么都没留下…
展开
-
leetCode 链表反转
方法一:递归实现public ListNode reverseList(ListNode head) { if(head == null || head.next == null){ return head; }ListNode pre = reverseList(head.next); head.next.next = head;head.next = null;return pre;}方法二:双指针方式public ListNod...原创 2021-05-26 20:00:38 · 109 阅读 · 0 评论 -
动态规划之 -- 01背包问题
有N件物品和一个容量为V的背包,第i件物品消耗的容量为Ci,价值为Wi,求解放入哪些物品可以使得背包中总价值最大。解法一:static int[] w = new int[]{0, 2, 3, 5, 5};static int[] v = new int[]{0, 2, 4, 3, 7};public static int test2(int i , int c){ int result = 0; if(i == 0 || c == 0){ return原创 2021-05-26 14:14:40 · 123 阅读 · 0 评论 -
给定一个二叉树,找出其最小深度
classSolution{publicintminDepth(TreeNoderoot){if(null==root){return0;}if(null==root.left&&null==root.right){return1;}if(null==root.left){return...原创 2021-05-11 18:45:31 · 262 阅读 · 0 评论 -
leetCode求两数之和
第一种方法: 暴力列举publicint[]twoSum(int[]nums,inttarget){int[]result=newint[]{0,1};if(nums.length==2){returnresult;}for(inti=0;i<nums.length-1;i++){for(intj=i+1;j<nums.length;j++)...原创 2021-05-11 18:44:38 · 76 阅读 · 0 评论 -
二叉树的前序 中序 后序 (深度遍历)和 层次遍历(广度遍历)
二叉树的主要算法就是递归,遍历二叉树又分为:前序 中序 后序 三种方式代码实现:public class MyTreeNode { private TreeNode root; /** * 添加元素 * @param data */ public void add(int data) { root = addToTreeNode(root, data); } /** * 删除元素 * @原创 2020-08-27 17:08:17 · 489 阅读 · 0 评论 -
自定义链表排序和逆制排序算法
package listDemo;public class MyList { private Node header = null; private Node last = null; private int size; public void addSort(int data) { Node current = new Node(data);...原创 2019-05-04 22:00:38 · 246 阅读 · 0 评论 -
双向链表的实现
//创建自己的链表类public class MylinkList { private Node first; private Node last; private Integer size=0; //在链表的最前面添加数据 public void addfirst(Object ele) { Node courrent = new N...原创 2019-05-04 22:03:34 · 152 阅读 · 0 评论 -
算法实现
org.apache.commons.codec.digest.DigestUtils.md5Hex原创 2019-07-26 10:41:26 · 116 阅读 · 0 评论