![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
风起枫落却无痕
这个作者很懒,什么都没留下…
展开
-
leetcode347--数组中前k个高频元素--优先队列
题目描述/** * * 给定一个非空的整数数组,返回其中出现频率前 k 高的元素。 * 示例 1: * 输入: nums = [1,1,1,2,2,3], k = 2 * 输出: [1,2] * * 示例 2: * 输入: nums = [1], k = 1 * 输出: [1] * 提示: * 你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。 * 你的算法的时间复杂度必须优于 O(n log n) , n 是数组的大小。 * 题目数据保证答案唯一,原创 2020-08-10 18:00:41 · 127 阅读 · 0 评论 -
从零开始学算法(1)-递归(2)
这一节通过一个简单的leetcode题目使用一下递归递归方式解决删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5 public ListNode removeElements(ListNode head, int val) { if (head == null) return null;/原创 2020-08-06 12:57:55 · 97 阅读 · 2 评论 -
从零开始学算法(1)-递归(1)
递归的两个要素递归的出口(最小问题的解决)递归方程举例:求解一个数组的和sum(int[] arr), 借助sum(int[] arr, int i)递归出口:当求解 第arr.length项时,返回0;递归方程:arr[i] + sum(int[] arr, int i)12345arr[i]=1+2345代码实现public int sum(int[] arr) {}public int s原创 2020-08-06 12:56:07 · 97 阅读 · 0 评论 -
LeetCode-203-移除链表元素
/** * @author brian * @date 2020/8/6 * * 删除链表中等于给定值 val 的所有节点。 * * 示例: * 输入: 1->2->6->3->4->5->6, val = 6 * 输出: 1->2->3->4->5 */public class Demo203 { public ListNode removeElements(ListNode head, int val) {原创 2020-08-06 11:38:16 · 80 阅读 · 0 评论 -
动态规划第二讲:一个数组,找出一组不相邻的数字,使找出的数字的和最大
一组数字,找出一组不相邻的数字,使最后的和最大。在一个数组arr中,找出一组不相邻的数字,使得最后的和最大。分别用递归解法和动态规划解法package com.study.dynamicprogromming;/** * @date 2020/7/27 * 一个数组,找出一组不相邻的数字,使最后的和最大,并返回最大值: * 例如: * {1, 2, 4, 1, 7, 8, 3} * 返回: 15 */public class Demo2 { public static vo原创 2020-07-27 10:58:18 · 1495 阅读 · 1 评论 -
动态规划第一讲
动态规划这是B站上,动态规划第一讲的一道题目,由于无法评论,就把代码发表在这里。package com.study.dynamicprogroming;/** * @date 2020/7/26 * @description B站 动态规划(一) * * 一天工作11个小时,怎么做任务在能赚最多的钱,一共有 8 个任务,中间的数字是每项任务 挣的钱 * 任务1: |———5----| * 任务2: |--1--| * 任务3:|--------8-------原创 2020-07-26 23:48:54 · 65 阅读 · 0 评论 -
每天一道剑指Offer--51
/** * @since 2020/7/18 * 构建乘积数组:排除第i项 * 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。 * 不能使用除法。(注意:规定B[0] = A[1] * A[2] * ... * A[n-1],B[n-1] = A[0] * A[1] * ... * A[n-2];) */public class Demo51 {//原创 2020-07-18 12:36:14 · 78 阅读 · 0 评论 -
每天一道剑指Offer--30
/** * @date 2020/7/18 * <p> * 连续子数组的 最大和(注意:子数组的起点不一定是0) * <p> * HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了: * 在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。 * 但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢? * 例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8原创 2020-07-18 12:34:39 · 84 阅读 · 0 评论 -
每天一道剑指Offer--9
/** * @since 2020/7/17 * 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 */public class Demo9 { public int JumpFloorII(int target) { if (target == 0) return 1; if (target == 1) return 1; //原创 2020-07-17 21:48:48 · 107 阅读 · 0 评论 -
每天一道剑指Offer--47
/* * 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 */public class Demo47 { public int Sum_Solution(int n) { return n == 1 ? n : n + Sum_Solution(n-1); }}...原创 2020-07-17 20:38:43 · 61 阅读 · 0 评论