随笔分类 -  算法

上一页 1 2 3 4 5 6 7 8 ··· 10 下一页
摘要:使用下面描述的算法可以扰乱字符串 s 得到字符串 t : 如果字符串的长度为 1 ,算法停止 如果字符串的长度 > 1 ,执行下述步骤: 在一个随机下标处将字符串分割成两个非空的子字符串。即,如果已知字符串 s ,则可以将其分成两个子字符串 x 和 y ,且满足 s = x + y 。 随机 决定是 阅读全文
posted @ 2021-10-19 14:17 Tianyiya 阅读(47) 评论(0) 推荐(0)
摘要:链接 数组异或和的定义:把数组中所有的数异或起来得到的值。给定一个整型数组arr,其中可能有正、有负,有零,求其中子数组的最大异或和 从高位向低位选择 import java.util.Scanner; public class Main { private static int solve(int 阅读全文
posted @ 2021-10-19 14:06 Tianyiya 阅读(129) 评论(0) 推荐(0)
摘要:链接 给你一个数组 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 阅读(44) 评论(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 阅读(96) 评论(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 阅读(83) 评论(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 阅读(39) 评论(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)

上一页 1 2 3 4 5 6 7 8 ··· 10 下一页