
算法
班黑炭
机器学习、数据挖掘
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
9. 回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1: 输入: 121 输出: true 示例2: 输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 示例 3: 输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。 进阶: 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/pal.原创 2020-07-26 19:26:52 · 136 阅读 · 0 评论 -
11. 盛最多水的容器
给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且n的值至少为 2。 图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为49。 示例: 输入:[1,8,6,2,5,4,8,3,7] 输出:49...原创 2020-07-25 11:05:27 · 137 阅读 · 0 评论 -
6. Z 字形变换
将一个给定字符串根据给定的行数,以从上往下、从左到右进行Z 字形排列。 比如输入字符串为 "LEETCODEISHIRING"行数为 3 时,排列如下: L C I R E T O E S I I G E D H N 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。 请你实现这个将字符串进行指定行数变换的函数: string convert(string s, int numRows); 示例1: 输入: s = ...原创 2020-07-25 10:10:31 · 134 阅读 · 0 评论 -
2. 两数相加
给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 465 = 807 class Solution(object):...原创 2020-07-21 22:30:39 · 106 阅读 · 0 评论 -
1. 两数之和
给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/two-sum 著作...原创 2020-07-20 19:59:16 · 143 阅读 · 0 评论 -
169. 多数元素
给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于⌊ n/2 ⌋的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例1: 输入: [3,2,3] 输出: 3 示例2: 输入: [2,2,1,1,1,2,2] 输出: 2 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/majority-element 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 题解: ...原创 2020-07-20 19:36:00 · 112 阅读 · 0 评论 -
背包问题动态规划算法java实现及分析
背包问题是动态规划算法的典型问题,关键在于能够通过计算所有的子问题推导出问题的最优解,也就是说各个子问题之间没有互相约束的条件,比如选了3就不能选5,因此求解的过程也只是填写备忘录的过程。 背包问题还在于解空间的求解和表示,要知道备忘录只是求出了最优解的大小,但是无法记录最优解由哪些选项构成,这需要我们根据备忘录反向回溯,求解出解的空间。 要考虑到解的不唯一性,及又可能存在于两原创 2016-10-25 18:26:16 · 1029 阅读 · 0 评论 -
内部排序回顾Java版(一)
近日复习内部排序,仔细体会了严蔚敏老师的数据结构,深受启发,总结如下:1 绪论 排序有两大操作组成,一是比较关键字大小,这个不可避免,二是将记录从一个位置移动到另一个位置,这可通过存储方式来尽力避免。 总的来说排序分为以下几种:内部排序和外部排序,而内部排序分为插入排序,2 插入排序 2.1 简单插入排序, public static void insertSort(int[] ...原创 2018-03-13 23:35:31 · 154 阅读 · 0 评论