自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

heimu24的博客

做个俗人,贪财好色,一身正气!

原创 【三角形最大路径和】递归、记忆化搜索、深度搜索(DFS打印所有路径、最大路径)、动态规划(DP)对比

参考链接,请参考原文,博主按照该文章顺了一遍,并加上自己的理解而已 下面所有的代码,如果不想提前新建nums[1000][1000],可以使用双重list动态存储 题目描述 有一个层数为n(n<=1000)的数字三角形。现有一只蚂蚁从顶层开始向下走,每走下一级,可向下或右下方向走。求走到底层...

2019-08-19 17:45:44 341 0

原创 【java笔试】常见方法汇总

数组 int[] nums = new int[5] int[] arrays = {1, 2, 3, 4, 5}; nums.length scanner类的常用方法 Scanner scan = new Scanner(System.in) scan.next()(默认是String类型,一...

2019-07-29 11:10:19 157 0

原创 【机器学习】知识点汇总

持续更新ing… 标准化/归一化

2019-05-24 17:26:49 126 0

原创 Markdown进阶(更改字体、颜色、大小,设置文字背景色,调整图片大小设置居中)

基础知识: Markdown 通过简单标记语法,使普通文本内容具有一定格式。但它本身不支持修改字体、字号与颜色等功能的。CSDN-markdown 编辑器是其衍生版本,支持基于 PageDown ( Stack Overflow)所使用的编辑器的扩展功能(如表格、脚注、内嵌HTML、内...

2018-07-24 18:08:20 98902 14

原创 【完整版:深度学习环境配置】

声明:本次博客主要记录自己配置环境的过程以及中间遇到的问题和解决问题的方案,如果能有幸帮助到他人不胜荣幸,如果错误,望指出,以便及时更改。另外本方法是博主在自己的机子上一步一步进行的,确保可行,但是具体到不同的机子可能会有不同的问题,仅供参考。环境:纯净的ubuntu16.04 显卡: GTX...

2017-05-13 22:02:11 7250 1

原创 剑指offer 38:字符串的排列(组合)

题目: 输入一个字符串,打印出该字符串中字符的所有排列,例如,输入字符串abc,打印出由字符abc、acb、bac、bca、cba、cab。 思想: 把字符串看成两部分,第一部分是它的第一个字符,第二部分是后面的左右字符 求出第一部分所有可能的情况(通过第一个字符和其后面字符交换实现) 第二部分...

2019-09-07 17:54:58 114 0

原创 【二叉树-4】给定数组生成完全二叉树

题目描述: 给定一个数组,生成一个完全二叉树,也就是将数组的值赋给二叉树的各个节点 思想: 先将数组的值全部转化树节点,并将树节点存储到LinkedList中 遍历所有的父节点(除最后一个),然后给其左右孩子赋值(树结点) 处理最后一个父节点,因为最后一个父节点可能没有右孩子 注意: 1、父节...

2019-08-20 18:44:35 562 0

原创 【二叉树-3】打印二叉树中和为target的所有路径

参考链接 题目描述: 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 思想: 利用树的先序遍历访问所有结点,先将当前结点存储,然后更新target为target-root.val,继续递归访问其左右子树即...

2019-08-20 17:59:48 86 0

原创 【二叉树-2】二叉树的层级遍历:从上到下按层打印

题目描述: 给定一个二叉树,返回其按层次遍历的节点值,即按照层次,从上到下,从左到右遍历所有结点 例如:给定下列二叉树,打印结果[[1], [2, 3], [4, 5, 6, 7]] 思想: 使用广度优先搜素,即使用队列(先进先出) 先判断根节点是否为空,若是,直接返回 若非空,将根节点入队,...

2019-08-20 15:42:17 84 0

原创 【回溯法】:剑指offer12:矩阵中的路径

题目描述: 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e...

2019-08-18 16:10:58 30 0

原创 【动态规划】剑指offer14:剪绳子

题目描述: 给你一根长度为n的绳子,请把绳子剪成m段 (m和n都是整数,n>1并且m>1)每段绳子的长度记为k[0],k[1],…,k[m].请问k[0]k[1]…*k[m]可能的最大乘积是多少?例如,当绳子的长度为8时,我们把它剪成长度分别为2,3,3的三段,此时得到的最大乘积是18...

2019-08-17 11:30:23 23 0

原创 【递归-数组全排列】

仅以此博客记录学习,侵权即删。 利用递归实现数组的全排列,个数为12***n 参考链接 import java.util.Arrays; public class permutation{ //s表示,从array[start]后的数据进行全排列 public static void perm...

2019-08-03 17:25:18 132 0

原创 【猿辅导-笔试真题】大巴车(数组分块,按块翻转,块内不变)

该博客仅作为学习笔记,如侵权,请告知,速删。 题目描述: 某天 HR 组织大家去漂流,早上,参加团建的同学都到齐了,并且按到达公司的先后顺序排好队了。 由于员工太多,一个大巴车坐不下,需要分多个车,车是足够的,但所有人需要按一定顺序上车,按如下规则安排上车的顺序: 假设大巴车容量为 m,从队首开始...

2019-07-30 21:42:58 114 0

原创 【拼多多-笔试题】构造字符串

题目描述: 有一个长度为n的字符串P,我们可以通过P构造出一个无限长度的字符串S,其中S[i]=P[i%n]。给定一个字符串S,求可以通过上述方法构造出S的最短字符串P。 思想: 遍历每一种可能的子串(子串长度由小到大) 将子串重复多次进行拼接(取整和取余) 判断和原字符串是否相等(存在就是最小...

2019-07-27 21:28:07 86 0

原创 【拼多多-笔试真题】数组山谷

题目描述: 数组里的山谷是指一个数组A中的连续子数组B满足以下条件: (1)B.length>=3; (2)存在满足:0<i<B.length-1并且B[0]>B[1]>…>B[i-1]>B[i]<B[i+1]<…<B[B.length-...

2019-07-27 17:51:16 102 0

原创 【拼多多-笔试真题】旋转字符串

题目描述: 给定一个字符串,按顺时针顺序输出为一个正方形,具体规则如下: 1、从上边开始,上边从左到右 2、然后到右边,右边从上到下 3、然后是下边,下边从右到左 4、最后是左边,左边从下到上 输入描述: 输入一行,包含4k(k为整数,1<= k <= 10)个小写字母 输出描述: 输...

2019-07-27 15:51:45 52 0

原创 【数组-3】leetcode27:移除元素(Remove Element)

题目描述、参考链接 题目描述: 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 ...

2019-07-26 17:20:48 27 0

原创 【数组-2】leetcode26:删除排序数组中的重复项(Remove Duplicates from Sorted Array)

题目描述、参考链接 题目描述: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长...

2019-07-26 16:58:02 37 0

原创 【数组-1】leetcode1:两数之和(Two Sum)

题目描述、参考链接 题目描述: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15],...

2019-07-26 16:34:30 22 0

原创 【面试笔试真题】二维数组环形打印的实现

题目描述: 对二维数组实现环形打印(具体效果见下面) 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 思想: 环形打印 上横(左到右,改变列) 右纵(上到下,改变行) 下横(右到左,改变列) 左纵(下到上,改变行) PS:这里直接新建了一个数组,如果是给定数组,打...

2019-07-25 22:21:31 119 0

原创 【字符串-7】leetcode28:实现strStr()(Implement strStr())

题目描述、参考链接 题目描述: 实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 示例 1: 输入: haystack = “hel...

2019-07-25 21:09:40 19 0

原创 【字符串-6】leetcode22:括号生成(Generate Parentheses)

题目描述、参考链接 题目描述: 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 例如,给出 n = 3,生成结果为: [ “((()))”, “(()())”, “(())()”, “()(())”, “()()()” ] 思想: 这种列出所有情况...

2019-07-25 16:21:05 23 0

原创 【字符串-5】leetcode20:有效的括号(Valid Parentheses)

题目描述、参考链接 题目描述: 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: “()” 输出: true...

2019-07-25 10:30:32 33 0

原创 java常见类基本用法

Stack的基本使用 初始化 Stack stack=new Stack 判断是否为空 stack.empty() 取栈顶值(不出栈) stack.peek() 进栈 stack.push(Object); 出栈 stack.pop();

2019-07-25 10:00:02 67 0

原创 【二叉树-1】leetcode94:二叉树的中序遍历(Binary Tree Inorder Traversal)

题目链接和参考链接 题目描述: 给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 思想: 中序遍历:先递归左子树,再处理根节点,最后递归右子树 import java.ut...

2019-07-13 22:30:40 36 0

原创 【字符串-4】leetcode17:电话号码的字母组合(Letter Combinations of a Phone Number)

题目链接和参考链接 题目描述: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:“23” 输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce...

2019-07-12 18:26:55 61 0

原创 【字符串-3】leetcode-14:最长公共前缀(Longest Common Prefix)

题目链接和参考链接 题目描述: 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 1: 输入: [“flower”,“flow”,“flight”] 输出: “fl” 示例 2: 输入: [“dog”,“racecar”,“car”] 输出: “” ...

2019-07-12 15:45:16 30 0

原创 【字符串-2】leetcode-5:最长回文子串(Longest Palindromic Substring)

题目链接和参考链接 题目描述: 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: “babad” 输出: “bab” 注意: “aba” 也是一个有效答案。 示例 2: 输入: “cbbd” 输出: “bb” 思想: 循环遍历字符串...

2019-07-12 12:13:50 33 0

原创 【字符串-1】leetcode-3:无重复字符的最长子串(Longest Substring Without Repeating Characters)

题目链家和参考链接 题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: “bbbbb” 输出: 1 解释: 因为无重复字符的最长...

2019-07-12 11:12:29 21 0

原创 【链表-7】leetcode-61:旋转链表(Rotate List)

题目描述: 给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。 示例 1: 输入: 1->2->3->4->5->NULL, k = 2 输出: 4->5->1->2->3->NULL 解释: 向右旋转 1...

2019-07-09 22:04:46 34 0

原创 【链表-6】leetcode-25:k个一组翻转链表(Reverse Nodes in k-Group)

链表问题注意事项: 一般在处理链表问题时,我们大多时候都会在开头再加一个 dummy node,因为翻转链表时头结点可能会变化,为了记录当前最新的头结点的位置而引入的 dummy node,有的时候还要注意最后一个结点.next; 所谓按照长度K分段,无非就是循环遍历,然后判断 i % k ==...

2019-07-09 16:43:46 65 0

原创 【链表-5】leetcode-24:两两交换链表中的节点(Swap Nodes in Pairs)

题目链接和参考链接 题目描述: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例: 给定 1->2->3->4, 你应该返回 2->1->4->3. 思想: 新建虚拟头结点dum...

2019-07-09 12:09:47 42 0

原创 【链表-4】leetcode-23:合并K个排序链表(Merge K Sorted Lists)

题目链接和参考链接 题目描述: 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入: [ 1->4->5, 1->3->4, 2->6 ] 输出: 1->1->2->3->4->4->5->...

2019-07-09 10:20:48 28 0

原创 【链表-3】leetcode-21:合并两个有序链表(Merge Two Sorted Lists)

题目链接和参考链接 题目描述: 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 思想: 新建一个链表,然后...

2019-07-08 16:36:26 30 0

原创 【链表-2】leetcode-19:删除链表的倒数第N个结点(Remove Nth Node From End of List)

题目链接和参考链接 题目描述: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n 保...

2019-07-08 15:53:13 36 0

原创 【链表-1】leetcode-2:两数相加(Add Two Numbers)

题目描述: 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 ...

2019-07-08 11:49:08 43 0

原创 【查找】二分查找(Binary Search)

二分查找(Binary Search) 思想:在有序数组中,取中间数作为比较对象,如果查找值与中间数相等,则查找成功;如果查找值比中间数小,则在左半区间继续查找;如果查找值比中间数大,则继续在右半区间查找。不断重复上述过程,直到查找成功。 时间复杂度:O(log⁡n)O(\log n)O(logn...

2019-07-06 16:30:50 65 0

原创 【排序】七大经典排序算法汇总

七大经典排序算法: 1、冒泡排序(Bubble Sort) 2、简单选择排序(Simple Selection Sort) 3、直接插入排序(Straight Insertion Sort) 4、希尔排序(Shell Sort) 5、堆排序(Heam Sort) 6、归并排序(Merging So...

2019-07-03 10:43:20 43 0

原创 【算法】递归DFS(深度搜索)

功能:对于数组[1, 2, 3, 4, 5],打印出所有可能的组合方式 比如:在1, 2, 3, 4, 5中,选取3个数到底有多少种组合呢? 解决方案:先选取一个数,然后在剩下的4个数中选取2个数,接着在剩下的3个数中选取1个数。。.直到选取0个数结束递归。。。然后,外面套个循环,就能得出数组1,...

2019-06-28 16:19:05 162 0

原创 哈希表

题目描述:两数之和(Two Sum) 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 1...

2019-06-27 09:18:18 47 0

提示
确定要删除当前文章?
取消 删除