当前位置: 首页 > wzjs >正文

网站建设栏目凡科建站模板

网站建设栏目,凡科建站模板,手机wap网站制作免费,自己怎么建个网站赚钱吗目录 1. 字符串统计 ★ 2. 单词反转 ★★ 3. 俄罗斯套娃信封问题 ★★★ 🌟 每日一练刷题专栏 C/C 每日一练 ​专栏 Python 每日一练 专栏 Java 每日一练 专栏 1. 字符串统计 编写一个程序,对于输入的一段英语文本,可以统计&#…

目录

1. 字符串统计  ★

2. 单词反转  ★★

3. 俄罗斯套娃信封问题  ★★★

🌟 每日一练刷题专栏

C/C++ 每日一练 ​专栏

Python 每日一练 专栏

Java 每日一练 专栏


1. 字符串统计

编写一个程序,对于输入的一段英语文本,可以统计:

1、该文本中有多少英语单词;
2、该文本中有多少不同的英语单词。

如,输入 I am a good student. I am in Zhengzhou.
则可以统计出有9个英语单词、7个不同的英语单词。

代码:

import java.util.HashMap;
import java.util.Map;
public class Tee {public static String formatInput(String input) {if (input == null) {return null;}return input.replaceAll("[.|;|\\?]", " ");}public static Map<String, Integer> countWords(String input) {Map<String, Integer> result = new HashMap<String, Integer>();if (input == null || input.length() == 0) {return result;}String[] split = input.split(" ");if (split == null || split.length == 0) {return result;}for (String value : split) {if (result.containsKey(value)) {result.put(value, result.get(value) + 1);} else {result.put(value, 1);}}return result;}public static void main(String[] args) {String value = "I am a good student.I am in Zhengzhou.Ha?";String format = formatInput(value);System.out.println(format);Map<String, Integer> r = countWords(format);System.out.println(r.toString());}
}

原题中用了Map,HashMap,以下代码d只用数组即可: 

public class main {
    public static String formatInput(String input) {
        if (input == null) {
            return null;
        }
        return input.replaceAll("[.|;|\\?]", " ");
    }
    
    public static void countWords(String input) {
        if (input == null || input.length() == 0) {
            return;
        }
        String[] split = input.split(" ");
        if (split == null || split.length == 0) {
            return;
        }
        String[] words = new String[split.length];
        int[] counts = new int[split.length];
        int index = 0;
        for (String value : split) {
            boolean found = false;
            for (int i = 0; i < index; i++) {
                if (words[i].equals(value)) {
                    counts[i]++;
                    found = true;
                    break;
                }
            }
            if (!found) {
                words[index] = value;
                counts[index] = 1;
                index++;
            }
        }
        for (int i = 0; i < index; i++) {
            System.out.println(words[i] + ": " + counts[i]);
        }
    }
    
    public static void main(String[] args) {
        String value = "I am a good student.I am in Zhengzhou.Ha?";
        String format = formatInput(value);
        System.out.println(format);
        countWords(format);
    }


2. 单词反转

随便输出一个字符串 String str ="45abc,+de==fg"; 里面含有 abc,de,fg 三个单词

怎么处理能让单词反转,其他顺序不变呢 输出 “45cba,+ed==gf”;

代码:

public class HelloWorld {public static String revstr(String s) {char[] ch = s.toCharArray();for (int i = 0; i < ch.length; i++) {if ((ch[i] >= 'A' && ch[i] <= 'Z') || (ch[i] >= 'a' && ch[i] <= 'z')) {int j = i + 1;while (j < ch.length && ((ch[j] >= 'A' && ch[j] <= 'Z') || (ch[j] >= 'a' && ch[j] <= 'z')))j++;j--;if (i != j) {for (int k = i; k <= (j - i) / 2 + i; k++) {char temp = ch[k];ch[k] = ch[j - k + i];ch[j - k + i] = temp;}}i = j;}}return new String(ch);}public static void main(String[] args) {System.out.println(revstr("45abc,+de==fg"));}
}

3. 俄罗斯套娃信封问题

给你一个二维整数数组 envelopes ,其中 envelopes[i] = [wi, hi] ,表示第 i 个信封的宽度和高度。

当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。

请计算 最多能有多少个 信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。

注意:不允许旋转信封。

示例 1:

输入:envelopes = [[5,4],[6,4],[6,7],[2,3]]
输出:3
解释:最多信封的个数为 3, 组合为: [2,3] => [5,4] => [6,7]。

示例 2:

输入:envelopes = [[1,1],[1,1],[1,1]]
输出:1

提示:

  • 1 <= envelopes.length <= 5000
  • envelopes[i].length == 2
  • 1 <= wi, hi <= 10^4

代码:

class Solution {public int maxEnvelopes(int[][] envelopes) {int n = envelopes.length;if (n == 0)return 0;Arrays.sort(envelopes, new Comparator<int[]>() {public int compare(int[] a, int[] b) {if (a[0] != b[0])return a[0] - b[0];return b[1] - a[1];}});List<Integer> lastHeight = new ArrayList<>();lastHeight.add(envelopes[0][1]);for (int i = 1; i < n; i++) {int h = envelopes[i][1];if (h > lastHeight.get(lastHeight.size() - 1))lastHeight.add(h);else {int l = 0, r = lastHeight.size() - 1;while (r > l) {int m = (l + r) >> 1;if (lastHeight.get(m) < h)l = m + 1;elser = m;}lastHeight.set(l, h);}}return lastHeight.size();}
}

🌟 每日一练刷题专栏 🌟

 持续,努力奋斗做强刷题搬运工!

👍 点赞,你的认可是我坚持的动力! 

🌟 收藏,你的青睐是我努力的方向! 

 评论,你的意见是我进步的财富!  

​​

C/C++ 每日一练 ​专栏

​​​

Python 每日一练 专栏

Java 每日一练 专栏

http://www.dtcms.com/wzjs/198403.html

相关文章:

  • 网站后台登录界面代码seo排名查询工具
  • 青海省制作网站专业dy刷粉网站推广马上刷
  • 注册网站网网站推广策划书模板
  • 济南网站建设哪家强免费推广网
  • 设计理念网站电商seo优化是什么意思
  • 在什么网站上查建设机械操作证谷歌广告代理
  • 怎样用代码制作网站电商网址
  • 怎样让百度搜索到自己的网站武汉网站seo
  • 高端网站开发企业seo优化服务
  • 企业做网站需要什么资料北京全网营销推广
  • 什么网站可以做锦鲤活动营销策划品牌策划
  • 做超市海报的网站seo交流论坛
  • 衢州在建工程项目湘潭关键词优化公司
  • 做网站页面大小多大东莞seo培训
  • 做愛表情网站网站维护工程师
  • 自己建网站百度到吗四川自助seo建站
  • 网站建设管理制度实施方案企业关键词推广
  • 网站是如何建设的网络加速器
  • 网站logo怎么设计缅甸新闻最新消息
  • 做公司网站详细步骤网络推广方案怎么写
  • 做网站要ftp信息吗百度关键词热搜
  • 做电子商务系统网站上海seo公司哪家好
  • 网站flash banner天津海外seo
  • 如何建立收费视频网站新媒体运营师证书
  • html格式的网站地图免费信息推广平台
  • 有后台的网站怎么做能够免费换友链的平台
  • 宝安网站(建设深圳信科)龙斗seo博客
  • 炫酷的移动端网站设计seo优化教程培训
  • b2b独立站建站微信公众号的推广
  • 网站的二级页面在哪里做深圳网络营销和推广方案