每日一练<4>
创始人
2024-03-15 12:00:39

每日一练

大家好呀!我是小笙,接下来分享下11-12月份每日一题的解题思路~

1822. 数组元素积的符号

给定一个数组,将数组中的每个值乘积起来如果等于 0 则返回 0;如果大于 0 则返回 1;如果小于 0 则返回 -1

例子

输入:nums = [41,65,14,80,20,10,55,58,24,56,28,86,96,10,3,84,4,41,13,32,42,43,83,78,82,70,15,-41]、
输出:-1
注意:会超出 int 类型的范围

暴力破解,但是注意不能直接累积的方式判断,因为会超出 int 数据范围

class Solution {public int arraySign(int[] nums) {int res = 0;for(int num:nums){if(num == 0){return 0;}else if(num < 0){res++;}}return res%2 == 1?-1:1;}
}

1662. 检查两个字符串数组是否相等

给你两个字符串数组 word1word2 。如果两个数组表示的字符串相同,返回 true ;否则,返回 false

例子

输入:word1 = ["ab", "c"], word2 = ["a", "bc"]
输出:true
解释:
word1 表示的字符串为 "ab" + "c" -> "abc"
word2 表示的字符串为 "a" + "bc" -> "abc"
两个字符串相同,返回 true
-------------------------------------------
输入:word1 = ["a", "cb"], word2 = ["ab", "c"]
输出:false

代码实现

暴力解法:首先记录下一组字符串的字符和,然后去和另外一个数组进行比较;但是需要注意的是两者字符串总长度大小的两种情况

class Solution {public boolean arrayStringsAreEqual(String[] word1, String[] word2) {StringBuilder sb = new StringBuilder("");for(String word:word1){sb.append(word);}int index = 0;String str = sb.toString();for(String word:word2){for(int i=0;i// 防止第一个字符串长度小于第二个字符串的长度if(index >= str.length()){return false;}if(str.charAt(index++) != word.charAt(i)){return false;}}}// 防止第一个字符串长度大于第二个字符串的长度if(index != str.length()){return false;}return true;}
}

优化:通过下标的方式直接累积两者字符串,然后直接比较就可以啦

class Solution {public boolean arrayStringsAreEqual(String[] word1, String[] word2) {StringBuilder sb = new StringBuilder("");StringBuilder sb2 = new StringBuilder("");int index1 = 0,index2 = 0;while(index1 < word1.length || index2 < word2.length){if(index1 < word1.length){sb.append(word1[index1++]);}if(index2 < word2.length){sb2.append(word2[index2++]);}}return sb.toString().equals(sb2.toString());}
}// 执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户
// 内存消耗:39.2 MB, 在所有 Java 提交中击败了76.54%的用户

1668.最大重复子字符串

给你一个字符串 sequence ,如果字符串 word 连续重复 k 次形成的字符串是 sequence 的一个子字符串,那么单词 word 的 重复值为 k 。单词 word 的 最大重复值是单词 wordsequence 中最大的重复值。如果 word 不是 sequence 的子串,那么重复值 k0

例子

输入:sequence = "aaabaaaabaaabaaaabaaaabaaaabaaaaba", word = "aaaba"
输出:5
解释:注意是连续重复最大值

解题思路:使用 String 包含的方法来查找连续重复最大值

class Solution {public int maxRepeating(String sequence, String word) {int res = 0;StringBuilder sb = new StringBuilder(word);while(sequence.contains(sb.toString())){res++;sb.append(word);}return res;}
}

1. 两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

示例 :

输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1]

代码实现

解题思路:就是边放便查询,为啥不会漏放呢,我们查询的都是成对出现的,也就是说我们把第一个就直接放进去,那查第二个数字 (target - 第一个数字) 一定会返回

class Solution {public int[] twoSum(int[] nums, int target) {Map map = new HashMap<>();for(int i=0;iif(map.containsKey(target - nums[i])){return new int[]{map.get(target - nums[i]),i};}map.put(nums[i],i);}return new int[]{-1,-1};}
}

1796.字符串中第二大的数字

给你一个混合字符串(由小写英文字母和数字组成) s ,请你返回 s第二大 的数字,如果不存在第二大的数字,请你返回 -1

示例:

输入:s = "dfa12321afd"
输出:2
解释:出现在 s 中的数字包括 [1, 2, 3] 。第二大的数字是 2

代码实现:

解题思路:统计字符串有哪些数字,并收集不重复的数字;如果最后长度小于2 返回-1,反之排序返回第二大的数字

class Solution {public int secondHighest(String s) {Set set = new HashSet<>();List list = new ArrayList<>();for(int i=0;ichar ch = s.charAt(i);if(ch >= 48 && ch <= 58 && !set.contains(ch-48)){list.add(ch-48);set.add(ch-48);}}if(list.size() < 2){return -1;}Collections.sort(list);return list.get(list.size()-2);}
}

相关内容

热门资讯

应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...