
LC
野原新之粒
这个作者很懒,什么都没留下…
展开
-
22.2.7-最长快乐字符串
class Solution { public String longestDiverseString(int a, int b, int c) { StringBuilder res=new StringBuilder(); Pair arr[]={new Pair(a,'a'),new Pair(b,'b'),new Pair(c,'c')}; while(true){ //对arr根据a,b,c的值排序,此时arr是按.原创 2022-02-07 20:10:00 · 268 阅读 · 0 评论 -
22.2.6-唯一元素的和,哈希表
class Solution { public int sumOfUnique(int[] nums) { Map<Integer, Integer> cnt = new HashMap<Integer, Integer>(); for (int num : nums) { cnt.put(num, cnt.getOrDefault(num, 0) + 1); } int ans = 0.原创 2022-02-06 10:07:52 · 465 阅读 · 0 评论 -
1.25-字符串转换整数(自动机)
字符串转换整数class Solution { public int myAtoi(String s) { Automaton automation=new Automaton(); int length=s.length(); for(int i=0;i<length;i++){ automation.get(s.charAt(i)); } return (int)automation原创 2022-01-25 17:16:59 · 244 阅读 · 0 评论 -
1.24-Z字变换、StringBuilder
一、Z字形变换思路:分行,一个列表rows,每一行(row)都有一个StringBuilder,遍历整个字符串,由currow决定当前字符是在哪一行,当当前行是在第一行或者最后一行时,反向,向上减或向下加。最后遍历每一个StringBuilder,把每一行的字符顺序加入新的StringBuilder中。class Solution { public String convert(String s, int numRows) { if(numRows==1) return s;转载 2022-01-25 11:07:10 · 200 阅读 · 0 评论 -
1.20-石子游戏
这里写自定义目录标题1. 每日一题——石子游戏1. 每日一题——石子游戏class Solution { public boolean stoneGameIX(int[] stones) { int cnt0 = 0, cnt1 = 0, cnt2 = 0; for (int val : stones) { int type = val % 3; if (type == 0) { +原创 2022-01-21 13:37:46 · 2644 阅读 · 0 评论 -
1.18-每日一题-最小时间差
根据题意,一共有 24×60=1440 种不同的时间。由鸽巢原理可知,如果timePoints的长度超过 1440,那么必然会有两个相同的时间,此时可以直接返回 0。class Solution { public int findMinDifference(List<String> timePoints) { int n = timePoints.size(); if (n > 1440) { return 0; .原创 2022-01-18 22:13:06 · 106 阅读 · 0 评论 -
1.17-动态规划(元音字母)+两数相加(链表)
1.LC题1.1每日一题——统计元音字母序列的数目以上定义等价于:元音‘a’前面只能跟’e’,‘u’,‘i’元音‘e’前面只能跟’a’,‘i’元音’i’前面可以跟’e’,‘o’元音’o’前面可以跟’i’元音’u’前面可以跟’o’,‘i’动态规划,设一个二维数组d[i][j]。i代表目前是第几位;j=0,1,2,3,4,分别代表这一位为a,e,i,o,u。递推公式:class Solution { public int countVowelPermutation(int n)原创 2022-01-17 23:19:39 · 130 阅读 · 0 评论 -
1.16学习记录-链表+random
1. Leetcode每日一题1.1 计算力扣银行的钱大致思路:等差数列,周周等差,日日等差,求有几个7以及对7求余,整周与余天相加class Solution { public int totalMoney(int n) { // 所有完整的周存的钱 int weekNumber = n / 7; int firstWeekMoney = (1 + 7) * 7 / 2; int lastWeekMoney = firstWe原创 2022-01-16 21:59:07 · 122 阅读 · 0 评论