力扣周赛
文章平均质量分 62
曾经有过的未来
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
2021-01-09 第 43 场双周赛
2021-01-09 第 43 场双周赛1716. 计算力扣银行的钱思路:模拟即可class Solution { public int totalMoney(int n) { int res = 0; for(int i = 0;i < n;i++) { int week = i / 7; int day = i % 7 + 1; res += (week+day);原创 2021-04-02 22:43:45 · 259 阅读 · 1 评论 -
2021-01-03 第 222 场周赛
2021-01-03 第 222 场周赛1710. 卡车上的最大单元数思路:贪心地选择单元数量最大的箱子装即可class Solution { public int maximumUnits(int[][] boxTypes, int truckSize) { Arrays.sort(boxTypes, (o1,o2)->(o2[1]-o1[1])); int res = 0; for(int i = 0;i < boxTypes.原创 2021-04-01 23:45:39 · 142 阅读 · 0 评论 -
2021-03-28 第 234 场周赛
2021-03-28 第 234 场周赛5713. 字符串中不同整数的数目思路:简单的一次遍历,用集合来存储遍历到的数字。在去除前导0这一块不能简单地将字符串转换为数字,字符串长度过长,没法转换为int或long类型的数字。class Solution { public int numDifferentIntegers(String word) { char[] s = (word+"#").toCharArray(); Set<String>原创 2021-03-30 11:01:55 · 191 阅读 · 1 评论 -
2021-01-31 第 226 场周赛
2021-01-31 第 226 场周赛1742. 盒子中小球的最大数量思路:签到题,从给定的数据范围来看,最大的数目也就4 * 9 = 36,那么只需要遍历统计即可。class Solution { public int cal(int x) { int sum = 0; while(x != 0) { sum += (x % 10); x /= 10; } return su原创 2021-03-27 16:32:13 · 133 阅读 · 0 评论 -
2021-02-06 第 45 场双周赛
2021-02-06 第 45 场双周赛1748. 唯一元素的和思路:签到题,统计只出现一次的数字有哪些,然后再相加即可。class Solution { public int sumOfUnique(int[] nums) { int[] vis = new int[110]; int res = 0; for(int num : nums) { vis[num]++; } f原创 2021-03-27 15:53:04 · 129 阅读 · 0 评论 -
2021-02-07 第 227 场周赛
2021-02-07 第 227 场周赛1752. 检查数组是否经排序和轮转得到思路:枚举起点即可class Solution { public boolean check(int[] nums) { int n = nums.length; for(int i = 0;i < n;i++) { boolean flag = true; for(int j = i+1;j < i+n;j++) {原创 2021-03-26 15:41:34 · 122 阅读 · 0 评论 -
2021-02-14 第 228 场周赛
2021-02-14 第 228 场周赛1758. 生成交替二进制字符串的最少操作数思路1:动态规划,dp[i][j]表示前i个字符串成为交替二进制字符串,并且最后一位为j的最少操作数,那么状态转移方程为:dp[i][0]=dp[i−1][1]+(s[i]==′0′?0:1)dp[i][0] = dp[i-1][1] + (s[i] == '0' ? 0 : 1)dp[i][0]=dp[i−1][1]+(s[i]==′0′?0:1)dp[i][1]=dp[i−1][0]+(s[i]==′1′?原创 2021-03-26 11:35:03 · 150 阅读 · 0 评论 -
2021-03-14 第 232 场周赛
2021-03-14 第 232 场周赛1790. 仅执行一次字符串交换能否使两个字符串相等思路:签到题,把不相等的字符分别记录,判断是否反转后一致即可。class Solution { public boolean areAlmostEqual(String s1, String s2) { int cnt = 0; StringBuffer s3 = new StringBuffer(); StringBuffer s4 = new Str原创 2021-03-24 23:48:58 · 122 阅读 · 0 评论 -
2021-03-20 第 48 场双周赛
2021-03-20 第 48 场双周赛1796. 字符串中第二大的数字思路:遍历模拟class Solution { public int secondHighest(String _s) { char[] s = _s.toCharArray(); int n = s.length; Set<Integer> set= new HashSet<>(); for(char ch : s) {原创 2021-03-23 15:16:38 · 164 阅读 · 0 评论 -
2021-03-21 第 233 场周赛
2021-03-21 第 233 场周赛1800. 最大升序子数组和思路:签到题,直接动态规划做了。class Solution { public int maxAscendingSum(int[] nums) { int n = nums.length, res = 0; int[] dp = new int[n]; for(int i = 0;i < n;i++) { dp[i] = nums[i];原创 2021-03-22 15:25:08 · 134 阅读 · 0 评论 -
2021-02-20 第 46 场双周赛
2021-02-20 第 46 场双周赛1763. 最长的美好子字符串思路:毕竟是签到题,数据量还是太小了,直接就暴力做了。枚举每一个子字符串,然后判断是否是美好子字符串即可。class Solution { public boolean judge(char[] s) { int[] cntA = new int[26]; int[] cntB = new int[26]; for(int i = 0;i < s.length;i+原创 2021-03-20 16:00:07 · 172 阅读 · 0 评论 -
2021-02-21 第 229 场周赛
2021-02-21 第 229 场周赛1768. 交替合并字符串思路:简单的模拟题class Solution { public String mergeAlternately(String word1, String word2) { StringBuffer res = new StringBuffer(); int n1 = word1.length(), n2 = word2.length(); for(int i = 0;i <原创 2021-03-19 20:57:29 · 129 阅读 · 0 评论 -
2021-02-28 第 230 场周赛
2021-02-28 第 230 场周赛1773. 统计匹配检索规则的物品数量思路:签到题class Solution { public int keyToIndex(String ruleKey) { if("type".equals(ruleKey)) { return 0; } else if("color".equals(ruleKey)) { return 1; } else {原创 2021-03-14 19:39:42 · 156 阅读 · 0 评论 -
2021-03-06 第 47 场双周赛
1779. 找到最近的有相同 X 或 Y 坐标的点思路:签到模拟题class Solution { public int cal(int x1,int y1, int x2, int y2) { return Math.abs(x1-x2) + Math.abs(y1-y2); } public int nearestValidPoint(int x, int y, int[][] points) { int mx = Integer.MAX原创 2021-03-13 11:49:23 · 169 阅读 · 0 评论 -
2021-03-07 第 231 场周赛
2021-03-07 第 231 场周赛1784. 检查二进制字符串字段思路:模拟题,只需要判断1是否连续出现即可class Solution { public boolean checkOnesSegment(String _s) { char[] s = _s.toCharArray(); int last = -1,cnt = 0; for(int i = 0;i < s.length;i++) { if(s原创 2021-03-12 14:53:42 · 158 阅读 · 0 评论 -
2021-01-23 第 44 场双周赛
1732. 找到最高海拔思路:就是个签到题,当前高度 = 前面的高度 + gain[i],维护最大值即可。class Solution { public int largestAltitude(int[] gain) { int res = 0, cur = 0; for(int g : gain) { cur += g; res = Math.max(res, cur); } .原创 2021-01-29 07:29:39 · 234 阅读 · 0 评论 -
2021-01-24 第 225 场周赛
2021-01-24 第 225 场周赛1736. 替换隐藏数字得到的最晚时间思路:只需要枚举时间,然后看是否匹配,匹配的时间里面取最大的就可以了。class Solution { public boolean check(char[] a, char[] b) { for(int i = 0;i < a.length;i++) { if(a[i] == '?' || a[i] == ':') continue; el原创 2021-01-28 07:03:02 · 222 阅读 · 0 评论 -
2020-12-27 第 221 场周赛
2020-12-27 第 221 场周赛5637. 判断字符串的两半是否相似思路:简单的签到题,把字符串拆开成两半,然后前后分别统计元音字符,判断个数是否相等即可class Solution { public boolean check(char ch) { if(ch == 'a' || ch == 'A') return true; else if(ch == 'e' || ch == 'E') return true; els原创 2020-12-27 12:50:40 · 156 阅读 · 0 评论 -
力扣 2020-12-20 第 220 场周赛思路
2020-12-20 第 220 场周赛5629. 重新格式化电话号码思路:非常简单的模拟题,先把数字给取出来,然后三个三个拼接,最后只剩四维的时候在分别讨论即可。class Solution { public String reformatNumber(String number) { StringBuffer res = new StringBuffer(); StringBuffer s = new StringBuffer(); f原创 2020-12-20 13:36:21 · 191 阅读 · 0 评论
分享