leetcode 123 Best Time to Buy and Sell Stock III 动态规划
题目
You are given an array prices where prices[i] is the price of a given stock on the ith day.
Find the maximum profit you can achieve.
You may complete at most two transactions.
Note: You may ...
2020-01-23 02:09:32 |
Algorithm
leetcode 115 Distinct Subsequences 动态规划
题目
Given two strings s and t, return the number of distinct subsequences of s which equals t.
The test cases are generated so that the answer fits on a 32-bit signed integer.
例子
Example 1:
Inp...
2020-01-23 02:09:32 |
Algorithm
面试算法:前 K 个高频元素详解汇总
前 K 个高频元素
题目
给定一个非空的整数数组,返回其中出现频率前 k 高的元素。
示例 1:
输入: nums = [1,1,1,2,2,3], k = 2
输出: [1,2]
示例 2:
输入: nums = [1], k = 1
输出: [1]
提示:
你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。
你的...
2020-01-23 02:09:32 |
Data-Struct
面试算法:如何找到数组中出现次数最多的元素?
多数元素
题目
给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。
你可以假设数组是非空的,并且给定的数组总是存在多数元素。
示例 1:
输入:[3,2,3]
输出:3
示例 2:
输入:[2,2,1,1,1,2,2]
输出:2
进阶:
尝试设计时间复杂度为 O(n)、空间复杂度为 O(1) 的算...
2020-01-23 02:09:32 |
Data-Struct
面试算法:数字 1 的个数
题目
给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。
示例 1:
输入:n = 13
输出:6
示例 2:
输入:n = 0
输出:0
提示:
0 <= n <= 2 * 10^9
暴力法
思路
直接遍历所有的数字,统计 1 出现的次数。
java 实现
/**
* 最基本的思路:
*
* 直接统计各个...
2020-01-23 02:09:32 |
Data-Struct
面试算法:只出现一次的数字详解汇总
题目
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。
找出那个只出现了一次的元素。
说明:
你的算法应该具有线性时间复杂度。
你可以不使用额外空间来实现吗?
示例 1:
输入: [2,2,1]
输出: 1
示例 2:
输入: [4,1,2,1,2]
输出: 4
解题思路
最简单的就是我们使用 HashMap 存储每一个数字...
2020-01-23 02:09:32 |
Data-Struct
面试算法:加油站难题,加油的学问还真不少
题目
在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。
你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。
如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。
说明:
如果题目有解,该答案即为唯一答案。
...
2020-01-23 02:09:32 |
Data-Struct
面试算法:动态规划解三角形最短路径详解
题目
给定一个三角形 triangle ,找出自顶向下的最小路径和。
每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。
示例 1:
输入:triangle = [[2],[3,4],[6,5...
2020-01-23 02:09:32 |
Data-Struct