重构字符串
摘要:package Leetcode; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.Li
阅读全文
阶乘中末尾0的个数
摘要:public class jiecheng { /** * 给定一个非负整数N,返回N!结果的末尾为0的数量 * @param args */ public static void main(String[] args) { thenumberof0(5); } /** * the number o
阅读全文
判断搜索二叉树与完全二叉树
摘要:package tree; import java.util.ArrayList; import java.util.Collections; import java.util.LinkedList; import java.util.Queue; /** * 给定一棵二叉树,已经其中没有重复值的节
阅读全文
插入区间
摘要:package Leetcode; import java.util.Arrays; /** * 给出一个无重叠的 ,按照区间起始端点排序的区间列表。 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。 */ /** * 思路:1.从左到右找到第一个新
阅读全文
反转对个数
摘要:/** * 给定一个数组 nums ,如果 i < j 且 nums[i] > 2*nums[j] 我们就将 (i, j) 称作一个重要翻转对。 你需要返回给定数组中的重要翻转对的数量。 */ /*** * 没特别明白 思路:1.原始数组分割子数组,分治求解 solve(A)=solve(A1)+s
阅读全文
字典顺序下一个
摘要:实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须 原地 修改,只允许使用额外常数空间。 输入:nums = [1,2,3] 输出:[1,3,2] /** * 从后往前找到第一个升序
阅读全文
移出k个数
摘要:* 给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。 * 输入: num = "1432219", k = 3 输出: "1219" 解释: 移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219。 */ 思路: /** * 从左到右遍历每一位,
阅读全文
动态规划股票购入卖出
摘要:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 思路:建立一个二维数组dp[i][j],其中dp[i][0]表示第i天没
阅读全文