1.今天学习了两个小时java,在力扣上刷了一道题目。
java 方面主要是学习了集合方面的一些知识。
1.首先是两张总结图
这是两个java集合的两个大类。第一个是单列集合,一个是双列集合。
这上面就是两个集合的存储元素方式。
我是先学习了 Collection接口相关的常用方法。
如下面这些列出来的
相关的操作代码就是下面的这些
这些就是这些方法的基本操作代码。
还有就是对于迭代器的一些学习,其实迭代器就是一种类似于指针的东西,只不过在java中它拥有更多的功能。
例如下面这些
这就是迭代器的一些比较重要的方法。
具体的代码就是下面这些
先定义一个 迭代器,然后使用它的hasNext方法和next方法,这样就可以做到循环的目的。
还有就是集合增强for,这个其实就是简化的迭代器,使用起来要方便一些,但是他的底层逻辑还是迭代器。
相关的代码就是下面这些
这就是今天学习的java知识。
2.题目方面
这就是题目。
具体做法就是记录下其中一个字符串中的每个元素的数量,然后在遍历另一个字符串时看是否所有的元素数量都是小于这个字符串的。
代码如下
class Solution {
public:
bool canConstruct(string ransomNote, string magazine) {
if (ransomNote.size() > magazine.size()) {
return false;
}
vector<int > s(30);
for (auto & c : magazine) {
s[c-'a']++;
}
for (auto & c : ransomNote) {
s[c-'a']--;
if (s[c-'a'] < 0) {
return false;
}
}
return true;
}
};
好了今天的学习总结就到这里为止。