数学问题
。。。
押切徹
这个作者很懒,什么都没留下…
展开
-
LeetCode 781. 森林中的兔子 哈希表/数学问题 medium
文章目录1.Description2.Example3.Solution1.我的题解2.官方1.Description森林中,每个兔子都有颜色。其中一些兔子(可能是全部)告诉你还有多少其他的兔子和自己有相同的颜色。我们将这些回答放在 answers 数组里。返回森林中兔子的最少数量。2.Example示例:输入: answers = [1, 1, 2]输出: 5解释:两只回答了 "1" 的兔子可能有相同的颜色,设为红色。之后回答了 "2" 的兔子不会是红色,否则他们的回答会相互矛盾。原创 2021-04-04 15:48:03 · 99 阅读 · 0 评论 -
快速幂/矩阵快速幂实现斐波那契数列 Java
参考:斐波那契数列为什么那么重要,所有关于数学的书几乎都会提到?快速幂1.快速幂快速幂算法的核心思想就是每一步都把指数分成两半,而相应的底数做平方运算。这样不仅能把非常大的指数给不断变小,所需要执行的循环次数也变小,而最后表示的结果却一直不会变。int Qpow( int a,int n){ int ans = 1; while(n){ if(n&1) ans*=a ; a *= a ; n>>= 1; } return ans;}2.矩阵快速幂实原创 2021-04-02 23:50:26 · 770 阅读 · 0 评论 -
Prime Palindromes 回文质数 Java
判断回文数可以参考LeetCode 9,注意跳过所有偶数情况,可以节省时间。LeetCode 9.判断回文数public class Solution { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int a = sc.nextInt();原创 2021-03-23 21:37:40 · 58 阅读 · 0 评论 -
Java 6翻了 (正则方法和一般方法)
“666”是一种网络用语,大概是表示某人很厉害、我们很佩服的意思。最近又衍生出另一个数字“9”,意思是“6翻了”,实在太厉害的意思。如果你以为这就是厉害的最高境界,那就错啦 —— 目前的最高境界是数字“27”,因为这是 3 个 “9”!本题就请你编写程序,将那些过时的、只会用一连串“6666……6”表达仰慕的句子,翻译成最新的高级表达。输入格式:输入在一行中给出一句话,即一个非空字符串,由不超过 1000 个英文字母、数字和空格组成,以回车结束。输出格式:从左到右扫描输入的句子:如果句子中有超过原创 2021-02-23 20:47:31 · 324 阅读 · 0 评论 -
N的N次方的最高位
文章目录1.Description2.Example3.Solution1.Description给定一个正整数n,输出n的n次方的最高位。2.Example输入本题为多组数据。第一行一个整数T(T<=100),表示数据组数。接下来T行,每行输入一个正整数n(n<=1,000,000,000),含义如上所示。输出对于第i组数据,在第i行输出一个0~9的整数,表示n的n次方的最高位。样例输入234样例输出223.Solution#include &l原创 2021-02-21 18:12:50 · 190 阅读 · 0 评论 -
Java大数相乘(使用BigInteger和BigDecimal以及使用数组实现大数相加)
文章目录1.BigInteger和BigDecimal2.大数相乘的题1.BigInteger和BigDecimal在 Java 中提供了用于大数字运算的类,即 java.math.BigInteger 类和 java.math.BigDecimal 类。这两个类用于高精度计算,其中 BigInteger 类是针对整型大数字的处理类,而 BigDecimal 类是针对大小数的处理类。在运算中 BigInteger 类型可以准确地表示任何大小的整数值,它可以表示的范围比integer大得多了。Big原创 2020-11-29 00:55:47 · 1900 阅读 · 0 评论 -
LeetCode 119.Pascal‘s Triangle II(杨辉三角II) 数组,数学/easy
文章目录1.Description2.Example3.Solution法一:递推(时间复杂度都是平方)2.线性递推(时间复杂度为k)1.Description给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。在杨辉三角中,每个数是它左上方和右上方的数的和。2.Example输入: 3输出: [1,3,3,1]3.Solutionhttps://leetcode-cn.com/problems/pascals-triangle-ii/solution/yang-h原创 2021-02-12 14:58:14 · 93 阅读 · 0 评论 -
LeetCode 13.Roman to Integer(罗马数字转整数) 数学,字符串/easy
文章目录1.Description2.Example3.Solution优化:1.Description罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12原创 2021-02-10 20:06:27 · 137 阅读 · 0 评论 -
LeetCode 9.Palindrome Number(回文数) 数学/easy
文章目录1.Description2.Example3.Solution1.Description给你一个整数 x ,如果 x 是一个回文整数,返回 ture ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。2.Example示例 1:输入:x = 121输出:true示例 2:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回原创 2021-02-10 17:57:26 · 113 阅读 · 0 评论 -
LeetCode 567. Permutation in String(字符串的排列) 滑动窗口/Medium
文章目录1.Description2.Example3.Solution1.Description给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。2.Example输入: s1 = "ab" s2 = "eidbaooo"输出: True解释: s2 包含 s1 的排列之一 ("ba").输入: s1= "ab" s2 = "eidboaoo"输出: False3.Solution使用了滑动原创 2021-02-10 16:41:26 · 103 阅读 · 0 评论 -
LeetCode 992. Subarrays with K Different Integers(K 个不同整数的子数组) 滑动窗口/hard
文章目录1.Description2.Example3.Solution1.Description给定一个正整数数组 A,如果 A 的某个子数组中不同整数的个数恰好为 K,则称 A 的这个连续、不一定不同的子数组为好子数组。(例如,[1,2,3,1,2] 中有 3 个不同的整数:1,2,以及 3。)返回 A 中好子数组的数目。2.Example输入:A = [1,2,1,2,3], K = 2输出:7解释:恰好由 2 个不同整数组成的子数组:[1,2], [2,1], [1,2], [2原创 2021-02-10 01:48:30 · 100 阅读 · 0 评论 -
LeetCode 3.Longest Substring Without Repeating Characters(无重复字符的最长子串) 滑动窗口/Medium
文章目录1.Description2.Example3.Solution1.Description给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。2.Example输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。3.Solution使用滑动窗口,滑动的过程中动态的维护窗口的长度。class S原创 2021-02-08 19:44:25 · 95 阅读 · 0 评论 -
LeetCode 1208.Get Equal Substrings Within Budget(尽可能使字符串相等) 滑动窗口,双指针/Medium
文章目录1.Description2.Example3.Solution1.Description给你两个长度相同的字符串,s 和 t。将 s 中的第 i 个字符变到 t 中的第 i 个字符需要 |s[i] - t[i]| 的开销(开销可能为 0),也就是两个字符的 ASCII 码值的差的绝对值。用于变更字符串的最大预算是 maxCost。在转化字符串时,总开销应当小于等于该预算,这也意味着字符串的转化可能是不完全的。如果你可以将 s 的子字符串转化为它在 t 中对应的子字符串,则返回可以转化的原创 2021-02-08 17:00:03 · 131 阅读 · 0 评论 -
LeetCode 1423.Maximum Points You Can Obtain from Cards(可获得的最大点数) 数学,滑动窗口/Medium
文章目录1.Description2.Example3.Solution1.2.1.Description几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。你的点数就是你拿到手中的所有卡牌的点数之和。给你一个整数数组 cardPoints 和整数 k,请你返回可以获得的最大点数。2.Example输入:cardPoints = [1,2,3,4,5,6,1], k = 3原创 2021-02-06 22:17:44 · 90 阅读 · 0 评论