LeetCode新手村【383赎金信、412FizzBuzz】题目解析

LeetCode笔记

383.赎金信

题目描述
在这里插入图片描述

我不会写,抄个作业

官方答案:

class Solution {
    public boolean canConstruct(String ransomNote, String magazine) {
        if(ransomNote.length()>magazine.length()){
            return false;
        }
        int[] abc = new int[26];
        for(char c :magazine.toCharArray()){
            //c-'a'的意思就是两个字母相减,ASCII码。两个字母相减的结果对应数组的位置,就代表一个字母出现的次数
            abc[c-'a']++;
        }
        for(char c: ransomNote.toCharArray()){
            //如果在magazine中有就26字母中相对应的位置剪掉
            abc[c-'a']--;
            //如果出校小于0的情况就是magazine数组中没有足够的字母与之对应
            if(abc[c-'a']<0){
                return false;
            }
        }
        return true;
    }
}

toCharArray()方法将字符串转为字符数组

class Solution:
    def canConstruct(self, ransomNote: str, magazine: str) -> bool:
        if len(ransomNote) > len(magazine):
            return False
        return not collections.Counter(ransomNote) - collections.Counter(magazine)

collections.Counter()方法是计算参数中字母的种类和个数

如果前者减去后者=0,表示前者所有字母都被后者剪掉了,返回0;

前面还有一个not,所以返回true。

412.FizzBuzz

题目描述

在这里插入图片描述

我的答案:

class Solution {
    public List<String> fizzBuzz(int n) {
       List<String> answer= new ArrayList<>();
       for(int i=0;i<n;i++){
           int num= i+1;
           if(num%3==0&&num%5==0){
               answer.add("FizzBuzz");
           }
           else if(num%3==0){
              answer.add("Fizz");
           }
           else if(num%5==0){
             answer.add("Buzz");
           }
           else answer.add(String.valueOf(num));
       }
       return answer;
           }
}

笔记:Java List

List<String> list=new ArrayList<>();

1.添加、获取、删除元素

list.add("xxx");
list.get(1);
list.remove(1);
list.remove("xxx");

2.list是否包含某个元素

String tnt="时代少年团";
list.contains(tnt);//返回true或者false

3.list根据索引改变元素的值

String tnt1="majiaqi";
list.set(0,tnt1);

4.list查看元素的索引

list.indexOf("tnt1");

5.list是否为空

list.isEmpty();

6.将集合转换为字符串

list.toSting();

7.将集合转换为数组

list.toArray();

python:

class Solution:
    def fizzBuzz(self, n: int) -> List[str]:
        ans = []
        for i in range(1, n + 1):
            s = ""
            if i % 3 == 0:
                s += "Fizz"
            if i % 5 == 0:
                s += "Buzz"
            if s == "":
                s = str(i)
            ans.append(s)
        return ans
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值