
Java
弹琴敲代码两不误
一时兴起,风生水起。
展开
-
【Java】leetcode1109, 307 从数组区间和到线段树
今日的每日一题是 【LeetCode1109 航班预定信息统计】 bookings说明:[left, right, nums],左右皆为闭区间。 最直接的解法 是循环bookings,在区间内依次填入结果。 在超时边缘试探,执行用时:1423 ms class Solution { public int[] corpFlightBookings(int[][] bookings, int n) { int[] res = new int[n]; fo原创 2021-08-31 15:18:19 · 109 阅读 · 0 评论 -
【Java】剪绳子/ Leetcode 343 整数拆分
【题目描述】剪绳子 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m-1] 。请问 k[0]*k[1]*...*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。 【题目描述】整数拆分 给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。返回你可以获得的最大乘积。 【解法】对之前..原创 2021-05-05 13:44:45 · 170 阅读 · 0 评论 -
【Java】一行代码求出int数组中的最大值
int[] nums = new int[]{1,2,5,4,3}; int max = Arrays.stream(nums).max().orElse(-1);原创 2021-05-05 13:39:08 · 349 阅读 · 0 评论 -
【Java】m进制下n阶乘末尾有几个0
1.入门版 Q:10进制下,n阶乘末尾有几个0? A: 分析只有2和5成对出现才能凑出来末尾0; 考虑到5出现的频率比2低,所以计算阶乘中有几个5就好了。 import java.util.*; public static void main(String[] args) { int n = 25;//n的阶乘 int count = 0;//末尾0的个数 while(n != 0){ count += n / 5; n /= 5;原创 2021-04-20 12:54:50 · 241 阅读 · 0 评论 -
【约瑟夫环】Leetcode 1823 找出游戏的获胜者|围圈报数出局 |猴子选王|约瑟夫环|剑指 Offer 62. 圆圈中最后剩下的数字
题目描述: n个人围成一圈,报到第k个数的人出局,重复报数,最后剩下的一个人是获胜者。 数据结构:队列。 解答1(繁琐):参考了百科“约瑟夫问题”中c++的思路。 class Solution { public int findTheWinner(int n, int k) { List<Integer> queue = new ArrayList<Integer>(); if(n == 1)return 1; .原创 2021-04-12 17:47:44 · 638 阅读 · 0 评论 -
【Java】排序算法之堆排序
参考代码:百度百科。 import java.util.*; /* input :3 4 2 1 5 output:[1 2 3 4 5] */ public class heapSort0328 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str = scanner.nextLine(); String[]原创 2021-03-28 19:26:40 · 102 阅读 · 0 评论 -
【Java】排序算法之快速排序
快速排序算法,参考happygirlzt。 import java.util.*; /** 4 2 1 3 5 * @param */ public class quickSort0328 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str = scanner.nextLine(); String[] s.原创 2021-03-28 19:23:53 · 133 阅读 · 0 评论