数学
消灭猕猴桃
保持热爱,奔赴山海
展开
-
[leetCode]1018. 可被 5 整除的二进制前缀
题目https://leetcode-cn.com/problems/binary-prefix-divisible-by-5/模拟i > 1时N_i = N_i-1 * 2 + A[i],由于A很长所以需要注意溢出的情况,N_i = (N_i-1 * 2 + A[i])mod 5class Solution { public List<Boolean> prefixesDivBy5(int[] A) { int n = A.length;原创 2021-01-14 09:57:40 · 115 阅读 · 0 评论 -
[leetCode]974. 和可被 K 整除的子数组
暴力法计算数组前缀和,使用前缀和遍历数组连续区间。class Solution { public int subarraysDivByK(int[] A, int K) { int count = 0; int[] sum = new int[A.length + 1]; //计算前缀之和 for(int i = 1; i < sum.length; i++){ sum[i] = sum[i-1] +原创 2020-07-26 11:06:40 · 192 阅读 · 0 评论 -
[leetCode]1232. 缀点成线
题目https://leetcode-cn.com/problems/check-if-it-is-a-straight-line/submissions/数学以第一个点P0为参照将所有的点平移(-P0x,-P0y),那么直线过原点,Ax + By = 0,A = P1y, B = -P1x, 遍历之后的所有点代入直线公式即可class Solution { public boolean checkStraightLine(int[][] coordinates) {原创 2021-01-17 09:30:51 · 137 阅读 · 0 评论 -
[leetCode]628. 三个数的最大乘积
题目链接:https://leetcode-cn.com/problems/maximum-product-of-three-numbers给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例 1:输入: [1,2,3]输出: 6示例 2:输入: [1,2,3,4]输出: 24注意:给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。排序如果数组中都是非原创 2020-12-08 09:54:55 · 168 阅读 · 0 评论 -
238. 除自身以外数组的乘积
方法一方法一:计算数组nums每个元数除自身之外的乘积可以使用该元数的前缀之积与后缀之积。使用两个数组保存前缀之积与后缀之积。从前向右填充L,从右向左填充R。最后前缀之积与后缀之积对应相乘就得到了答案。class Solution { public int[] productExceptSelf(int[] nums) { int[] ans = new int[nums.length]; int[] L = new int[nums.length];//前.原创 2020-06-04 20:36:52 · 312 阅读 · 0 评论 -
[leetCode]326. 3的幂
题目链接:https://leetcode-cn.com/problems/power-of-three给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3x循环迭代如果n能被3整除,则继续除3,如果最后n==1说明,n是3的幂class Solution { public boolean isPowerOfThree(int n) { if (n原创 2020-12-07 18:43:19 · 336 阅读 · 0 评论 -
[leetCode]367. 有效的完全平方数
题目链接:https://leetcode-cn.com/problems/valid-perfect-square给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。说明:不要使用任何内置的库函数,如 sqrt。示例 1:输入:16输出:True示例 2:输入:14输出:False二分查找假设一个数num能够刚好开方,那么开方的结果一定在2 到 num / 2之间,可以通过二分查找进行查询。class Solut原创 2020-12-07 16:23:26 · 159 阅读 · 0 评论 -
[leetCode]169.多数元素
暴力法两层循环通过遍历判断每个数字的出现次数是否大于floorclass Solution { public int majorityElement(int[] nums) { int floor = nums.length / 2; for(int i = 0; i < nums.length; i++){ int count = 0; for(int j = 0; j < nums.length; j原创 2020-07-20 13:39:27 · 132 阅读 · 0 评论 -
[leetCode]462. 最少移动次数使数组元素相等 II
题目链接:https://leetcode-cn.com/problems/minimum-moves-to-equal-array-elements-ii给定一个非空整数数组,找到使所有数组元素相等所需的最小移动数,其中每次移动可将选定的一个元素加1或减1。 您可以假设数组的长度最多为10000。例如:输入:[1,2,3]输出:2说明:只有两个动作是必要的(记得每一步仅可使其中一个元素加1或减1): [1,2,3] => [2,2,3] => [2,2,2原创 2020-12-07 15:22:43 · 129 阅读 · 0 评论 -
[leetCode]67.二进制求和
解法1先将a、b转化为10进制整数相加在转化为二进制字符串.但是Java 中:如果字符串超过 33 位,不能转化为 Integer如果字符串超过 65 位,不能转化为 Long如果字符串超过 500000001位,不能转化为 BigIntegerclass Solution { public String addBinary(String a, String b) { return Integer.toBinaryString( Intege.原创 2020-06-30 12:08:41 · 164 阅读 · 0 评论 -
[leetCode]172. 阶乘后的零
题目链接:https://leetcode-cn.com/problems/factorial-trailing-zeroes给定一个整数 n,返回 n! 结果尾数中零的数量。示例 1:输入: 3输出: 0解释: 3! = 6, 尾数中没有零。示例 2:输入: 5输出: 1解释: 5! = 120, 尾数中有 1 个零.说明: 你算法的时间复杂度应为 O(log n) 。解法统计结果尾部0,相当于用某个数字乘10,乘10的个数就是0的个数,而10 = 2 * 5,2很容易得原创 2020-12-07 13:42:03 · 60 阅读 · 0 评论 -
[leetCode]405. 数字转换为十六进制数
题目链接:https://leetcode-cn.com/problems/convert-a-number-to-hexadecimal给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。注意:十六进制中所有字母(a-f)都必须是小写。十六进制字符串中不能包含多余的前导零。如果要转化的数为0,那么以单个字符’0’来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。给定的数确保在32位有符号整数范围内。不能使用任何由库提供的将数字直原创 2020-12-07 10:48:23 · 195 阅读 · 0 评论 -
[leetCode]504. 七进制数
题目链接:https://leetcode-cn.com/problems/base-7给定一个整数,将其转化为7进制,并以字符串形式输出。示例 1:输入: 100输出: "202"示例 2:输入: -7输出: "-10"注意: 输入范围是 [-1e7, 1e7] 。解class Solution { public String convertToBase7(int num) { if (num == 0) return "0";原创 2020-12-07 10:26:20 · 78 阅读 · 0 评论 -
[leetCode]204. 计数质数
题目链接:https://leetcode-cn.com/problems/count-primes统计所有小于非负整数 n 的质数的数量。示例 1:输入:n = 10输出:4解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。示例 2:输入:n = 0输出:0示例 3:输入:n = 1输出:0 提示:0 <= n <= 5 * 106埃氏筛如果一个数x是质数,则它的倍数一定是合数,将其背书全部"筛除",需要注意的是可以不用从2x原创 2020-12-03 14:05:11 · 165 阅读 · 0 评论