摘要: 链接 给你一个数组 points ,其中 points[i] = [xi, yi] 表示 X-Y 平面上的一个点。求最多有多少个点在同一条直线上。 import java.util.HashMap; import java.util.Map; import java.util.Objects; im 阅读全文
posted @ 2021-10-18 23:47 Tianyiya 阅读(57) 评论(0) 推荐(0)
摘要: import java.util.Stack; /** * author: 左程云 */ public class RecoverBST { public static class Node { public int value; public Node left; public Node righ 阅读全文
posted @ 2021-10-18 23:24 Tianyiya 阅读(46) 评论(0) 推荐(0)
摘要: 链接 现在有 n1+n2 种面值的硬币,其中前 n1 种为普通币,可以取任意枚,后 n2 种为纪念币,每种最多只能取 1 枚,每种硬币有一个面值,问能用多少种方法拼出 m 的面值? import java.util.Arrays; import java.util.Scanner; public c 阅读全文
posted @ 2021-10-18 23:21 Tianyiya 阅读(47) 评论(0) 推荐(0)
摘要: 链接 给定两个整数W和K,W代表你拥有的初始资金,K代表你最多可以做K个项目。再给定两个长度为N的正数数组costs[]和profits[],代表一共有N个项目,costs[i]和profits[i]分别表示第i号项目的启动资金与做完后的利润(注意是利润,如果一个项目的启动资金为10,利润为4,代表 阅读全文
posted @ 2021-10-18 23:03 Tianyiya 阅读(97) 评论(0) 推荐(0)
摘要: 假设有 n 台超级洗衣机放在同一排上。开始的时候,每台洗衣机内可能有一定量的衣服,也可能是空的。 在每一步操作中,你可以选择任意 m (1 ⇐ m ⇐ n) 台洗衣机,与此同时将每台洗衣机的一件衣服送到相邻的一台洗衣机。 给定一个整数数组 machines 代表从左至右每台洗衣机中的衣物数量,请给出 阅读全文
posted @ 2021-10-18 22:51 Tianyiya 阅读(47) 评论(0) 推荐(0)
摘要: 给你一个整数数组 nums ,你可以对它进行一些操作。 每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除 所有 等于 nums[i] - 1 和 nums[i] + 1 的元素。 开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。 来源:力 阅读全文
posted @ 2021-10-18 22:10 Tianyiya 阅读(66) 评论(0) 推荐(0)
摘要: 链接 给定一个由 0 和 1 组成的矩阵 matrix ,找出只包含 1 的最大矩形,并返回其面积。 注意:此题 matrix 输入格式为一维 01 字符串数组。 import java.util.Stack; class Solution { private static int getMax(i 阅读全文
posted @ 2021-10-18 21:54 Tianyiya 阅读(118) 评论(0) 推荐(0)
摘要: 给定一棵二叉树的头节点head,如果在某一个节点x上放置相机,那么x的父节点、x的所 有子节点以及x都可以被覆盖。返回如果要把所有数都覆盖,至少需要多少个相机。 public class Main { public static class Node { public Node left; publ 阅读全文
posted @ 2021-10-18 21:41 Tianyiya 阅读(84) 评论(0) 推荐(0)
摘要: 给定一个字符串s,求s中有多少个字面值不相同的子序列。 import java.util.Scanner; public class DistinctSubseq { public static int solve(char[] str) { if (str == null || str.lengt 阅读全文
posted @ 2021-10-18 21:36 Tianyiya 阅读(75) 评论(0) 推荐(0)
摘要: 链接 给定两个有序数组arr1和arr2,再给定一个整数k,返回来自arr1和arr2的两个数相加和最大的前k个,两个数必须分别来自两个数组 import java.util.*; public class Main { private static final int[] DX = {0, -1} 阅读全文
posted @ 2021-10-18 18:15 Tianyiya 阅读(175) 评论(0) 推荐(0)
摘要: 链接 给定一个整型数组arr,其中可能有正有负有零。你可以随意把整个数组切成若干个不相容的子数组,求异或和为0的子数组最多可能有多少个?整数异或和定义:把数组中所有的数异或起来得到的值。 import java.util.HashMap; import java.util.Map; import j 阅读全文
posted @ 2021-10-18 17:21 Tianyiya 阅读(93) 评论(0) 推荐(0)
摘要: 链接 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是回文。 返回符合要求的 最少分割次数 。 import java.util.Scanner; class Solution { private static boolean[][] isOk(String str) { int n 阅读全文
posted @ 2021-10-18 16:42 Tianyiya 阅读(28) 评论(0) 推荐(0)
摘要: 链接 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 import java.util.*; class Solution { private static boolean[][] isOk(Stri 阅读全文
posted @ 2021-10-18 16:18 Tianyiya 阅读(40) 评论(0) 推荐(0)
摘要: 链接 给定数组arr,arr[i]==k代表可以从位置向右跳1~k个距离。比如,arr[2]==3,代表可以从位置2跳到位置3、位置4或位置5。如果从位置0出发,返回最少跳几次能跳到arr最后的位置上。 import java.util.Scanner; public class Main { pr 阅读全文
posted @ 2021-10-18 15:45 Tianyiya 阅读(43) 评论(0) 推荐(0)
摘要: 一、从左到右的尝试模型 二、范围上的尝试模型 三、多样本位置全对应的尝试模型 1.样本对应模型往往讨论当前的结尾该如何组织可能性 四、寻找业务限制的尝试模型 注: 1.尝试策略就是动态规划转移方程 2.动态规范返回值由暴力递归决定,暴力递归需要的状态是什么?主函数怎么调用?动态规划要最初始的状态 3 阅读全文
posted @ 2021-10-18 14:35 Tianyiya 阅读(117) 评论(0) 推荐(0)
摘要: 有台奇怪的打印机有以下两个特殊要求: 打印机每次只能打印由 同一个字符 组成的序列。 每次可以在任意起始和结束位置打印新字符,并且会覆盖掉原来已有的字符。 给你一个字符串 s ,你的任务是计算这个打印机打印它需要的最少打印次数。 来源:力扣(LeetCode) 链接:https://leetcode 阅读全文
posted @ 2021-10-18 14:34 Tianyiya 阅读(36) 评论(0) 推荐(0)
摘要: 给出一些不同颜色的盒子,盒子的颜色由数字表示,即不同的数字表示不同的颜色。 你将经过若干轮操作去去掉盒子,直到所有的盒子都去掉为止。每一轮你可以移除具有相同颜色的连续 k 个盒子(k >= 1),这样一轮之后你将得到 k * k 个积分。 当你将所有盒子都去掉之后,求你能获得的最大积分和。 来源:力 阅读全文
posted @ 2021-10-18 14:06 Tianyiya 阅读(62) 评论(0) 推荐(0)
摘要: 给定一个 m x n 二维字符网格 board 和一个单词(字符串)列表 words,找出所有同时在二维网格和字典中出现的单词。 单词必须按照字母顺序,通过 相邻的单元格 内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母在一个单词中不允许被重复使用。 来源:力扣 阅读全文
posted @ 2021-10-18 12:34 Tianyiya 阅读(71) 评论(0) 推荐(0)
摘要: 一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。 骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。 有些房间由恶魔守卫 阅读全文
posted @ 2021-10-18 11:17 Tianyiya 阅读(51) 评论(0) 推荐(0)
摘要: 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。 说明: 分隔时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 来源:力扣(LeetCode) 链接:https://lee 阅读全文
posted @ 2021-10-18 11:02 Tianyiya 阅读(36) 评论(0) 推荐(0)