题目描述: 给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。 你找到的子数组应是最短的,请输出它的长度。 示例 1: 输入: [2, 6, 4, 8, 10, 9, 15]输出: 5解释: 你只需要对 [6, 4, 8, 10, 9] 进行升 ...
分类:
编程语言 时间:
2020-07-07 13:29:30
阅读次数:
59
题目描述: 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高 ...
分类:
编程语言 时间:
2020-06-14 01:17:18
阅读次数:
78
题目描述: 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ? n/2 ? 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入: [3,2,3]输出: 3 示例 2: 输入: [2,2,1,1,1,2,2]输出: 2 思路:排好序, ...
分类:
编程语言 时间:
2020-06-13 00:13:15
阅读次数:
95
题目描述: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1]输出: 1示例 2: 输入: [4,1,2,1,2]输出: 4 javaSc ...
分类:
编程语言 时间:
2020-06-10 13:11:03
阅读次数:
71
题目描述: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4输出:1->1->2->3->4->4 JavaScript实现: 时间复杂度:O(n+m); 空间复杂度:O(n+m); 思路:递归 /** ...
分类:
编程语言 时间:
2020-06-09 09:59:31
阅读次数:
73
一、算法分析 首先,由中序遍历特定可知,第一个节点是根节点,其次,由前序遍历特定可知,根节点左边是左子树,右边是右子树。因此,对于当前根,能确定其左子树的前序序列、中序序列,也能确定其右子树的前序序列、中序序列。 二、Java实现 题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。 ...
分类:
其他好文 时间:
2020-05-21 09:48:25
阅读次数:
48
题目: 通讯录(通过链表实现) 设计并实现一个简易的通讯录软件,管理个人通讯记录。一条通讯记录可包括:姓名、工作单位、手机、住宅电话、E-Mail、家庭住址等(可自行增删,但不可过少)。该系统应实现以下基本功能: (1)增加新的通讯记录。 (2)删除已有的通讯记录。 (3)修改已有的通讯记录。 (4 ...
分类:
编程语言 时间:
2020-04-22 13:07:49
阅读次数:
263
题目描述: 一个 「开心字符串」定义为: 仅包含小写字母 ['a', 'b', 'c']. 对所有在 1 到 s.length - 1 之间的 i ,满足 s[i] != s[i + 1] (字符串的下标从 1 开始)。 比方说,字符串 "abc","ac","b" 和 "abcbabcbcb" 都 ...
分类:
编程语言 时间:
2020-04-21 22:30:05
阅读次数:
145
题目描述 :我们把只包含因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。 解法 1: 动态规划 因为丑数只包含质因数 2, 3, 5,所以对于下个丑数来说,一定是前面某个丑数乘 3、乘 4 或者乘 5 所得。 准备三个指针 ptr2、ptr3、ptr ...
分类:
编程语言 时间:
2020-04-06 23:49:21
阅读次数:
93
题目链接: https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/submissions/ 思路:使用dp,保存上一步的状态,然后递推 状态转移方程:last = Math.max(0, last + prices[i+1] ...
分类:
编程语言 时间:
2020-03-20 13:02:12
阅读次数:
86