Java每日一练(20230321)

简介: Java每日一练(20230321)

1. 出现次数最多的字符并计算次数


给定一个字符串“today is a special day”,长度任意,要求找出其出现次数最多的字符及计算次数。

出处:


https://edu.csdn.net/practice/23349751

代码:

import java.util.HashMap;
import java.util.Map;
class Solution {
   public static void main(String[] args) {
      String string = "Thinking in Java";
      char[] ch = string.toCharArray();
      Map<Character, Integer> result = new HashMap<Character, Integer>();
      for (int i = 0; i < ch.length; i++) {
         if (result.containsKey(ch[i])) {
            int count = result.get(ch[i]) + 1;
            result.put(ch[i], count);
         } else {
            result.put(ch[i], 1);
         }
      }
      Character maxChar = null;
      Integer maxCount = 0;
      for (java.util.Map.Entry<Character, Integer> entry : result.entrySet()) {
         if (entry.getValue() > maxCount) {
            maxChar = entry.getKey();
            maxCount = entry.getValue();
         }
      }
      System.out.println("字符: " + maxChar + " 出现的字数最多,为 " + maxCount + " 次");
   }
}





2. 最后一个单词的长度


给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。


单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。


示例 1:

输入:s = "Hello World"

输出:5

示例 2:

输入:s = " "

输出:0

提示:

   1 <= s.length <= 10^4

   s 仅有英文字母和空格 ' ' 组成

出处:  

https://edu.csdn.net/practice/23349752  

代码:


class Solution {
    public int lengthOfLastWord(String s) {
        int count = 0;
        for (int i = s.length() - 1; i >= 0; i--) {
            if (s.charAt(i) != ' ') {
                count++;
            } else if (count > 0) {
                return count;
            }
        }
        return count;
    }
}



class Solution {
    public int lengthOfLastWord(String s) {
        int count = 0;
        for (int i = s.length() - 1; i >= 0; i--) {
            if (s.charAt(i) != ' ') {
                count++;
            } else if (count > 0) {
                return count;
            }
        }
        return count;
    }
}




3. 两数之和


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


你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。



你可以按任意顺序返回答案。

示例 1:

输入:nums = [2,7,11,15], target = 9

输出:[0,1]

解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。


示例 2:

输入:nums = [3,2,4], target = 6

输出:[1,2]


示例 3:

输入:nums = [3,3], target = 6

输出:[0,1]


提示:

   2 <= nums.length <= 10^3

   -10^9 <= nums[i] <= 10^9

   -10^9 <= target <= 10^9

   只会存在一个有效答案

出处:  

https://edu.csdn.net/practice/23349753  

代码:


class Solution {
    public int[] twoSum(int[] nums, int target) {
        Map<Integer, Integer> cache = new HashMap<>();
        for (int i = 0; i < nums.length; i++) {
            int distance = target - nums[i];
            if (cache.containsKey(distance)) {
                return new int[] { cache.get(distance), i };
            } else {
                cache.put(nums[i], i);
            }
        }
        return new int[] {};
    }
}



class Solution {
    public int[] twoSum(int[] nums, int target) {
        Map<Integer, Integer> cache = new HashMap<>();
        for (int i = 0; i < nums.length; i++) {
            int distance = target - nums[i];
            if (cache.containsKey(distance)) {
                return new int[] { cache.get(distance), i };
            } else {
                cache.put(nums[i], i);
            }
        }
        return new int[] {};
    }
}
————————————————
版权声明:本文为CSDN博主「Hann Yang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/boysoft2002/article/details/129675088

















目录
相关文章
CSDN每日一练(Java)--小艺的英文名
CSDN每日一练(Java)--小艺的英文名
|
安全 Java C++
2023-3-25 java选择题每日一练
2023-3-25 java选择题每日一练
91 1
|
Rust 索引
Rust 编程小技巧摘选(6)
Rust 编程小技巧摘选(6)
203 1
Rust 编程小技巧摘选(6)
|
C++ Python Rust
Rust 重载运算符|复数结构的“加减乘除”四则运算
Rust 重载运算符|复数结构的“加减乘除”四则运算
223 0
Rust 重载运算符|复数结构的“加减乘除”四则运算
|
Linux
Linux 终端命令之文件浏览(1) cat
Linux 终端命令之文件浏览(1) cat
129 0
Linux 终端命令之文件浏览(1) cat
|
Go Python Rust
Rust 编程小技巧摘选(7)
Rust 编程小技巧摘选(7)
250 0
Rust 编程小技巧摘选(7)
|
Linux Windows Ubuntu
Windows 使用 Linux 子系统,轻轻松松安装多个linux
Windows 使用 Linux 子系统,轻轻松松安装多个linux
1297 0
Windows 使用 Linux 子系统,轻轻松松安装多个linux
|
C++ Rust NoSQL
Rust 数据类型 之 类C枚举 c-like enum
Rust 数据类型 之 类C枚举 c-like enum
148 0
Rust 数据类型 之 类C枚举 c-like enum
|
Java Go C++
Golang每日一练(leetDay0120) 反转字符串中的元音字母、前K个高频元素
Golang每日一练(leetDay0120) 反转字符串中的元音字母、前K个高频元素
179 0
Golang每日一练(leetDay0120) 反转字符串中的元音字母、前K个高频元素
|
Java Go C++
Golang每日一练(leetDay0116) 路径交叉、回文对
Golang每日一练(leetDay0116) 路径交叉、回文对
110 0
Golang每日一练(leetDay0116) 路径交叉、回文对