题解地址

https://leetcode.cn/problems/counting-words-with-a-given-prefix/solutions/2050442/by-yhm138_-jlr3/

代码

//点击指定元素
document.querySelector("#__next > div > div > div > div > div > div > div > div.shadow-level1.dark\\:shadow-dark-level1.flex.w-full.min-w-0.flex-col.rounded-xl.lc-lg\\:max-w-\\[700px\\].bg-layer-1.dark\\:bg-dark-layer-1 > div.relative.flex.w-full.flex-col > div.flex.w-full.flex-col.gap-4.px-5.pt-4.pb-8 > div.break-words > div > div > div > div.flex.select-none.bg-layer-2.dark\\:bg-dark-layer-2 > div:nth-child(13)").click();

cpp

//C++
class Solution {
public:
int prefixCount(vector<string>& words, string pref) {
return std::count_if(words.begin(),
words.end(),
[&](auto s) { return s.find(pref) == 0; }
);
}
};

java

//java
class Solution {
public int prefixCount(String[] words, String pref) {
return (int) Arrays.stream(words)
.filter(word -> word.startsWith(pref))
.count();
}
}

python3

class Solution:
def prefixCount(self, words: List[str], pref: str) -> int:
return len(list(filter(lambda x: x.startswith(pref), words)))

C#

//c#
using System.Linq; public class Solution {
public int PrefixCount(string[] words, string pref) {
return words.Count(word => word.StartsWith(pref));
}
}

ruby

# ruby

# @param {String[]} words
# @param {String} pref
# @return {Integer}
def prefix_count(words, pref)
words.count { |word| word.start_with?(pref) }
end

swift

//swift
class Solution {
func prefixCount(_ words: [String], _ pref: String) -> Int {
return words.filter { $0.starts(with: pref) }.count
}
}

golang

//golang
func prefixCount(words []string, pref string) int {
return len(filter(words, func(word string) bool {
return strings.HasPrefix(word, pref)
}))
} func filter(vs []string, f func(string) bool) []string {
vsf := make([]string, 0)
for _, v := range vs {
if f(v) {
vsf = append(vsf, v)
}
}
return vsf
}

scala

//scala 

object Solution {
def prefixCount(words: Array[String], pref: String): Int = {
return words.count(_.startsWith(pref));
}
}

kotlin

//kotlin

class Solution {
fun prefixCount(words: Array<String>, pref: String): Int {
return words.count { it.startsWith(pref) }
}
}

rust

//rust

impl Solution {
pub fn prefix_count(words: Vec<String>, pref: String) -> i32 {
words.iter().filter(|word| word.starts_with(&pref)).count() as i32
}
}

php

//php

class Solution {

    /**
* @param String[] $words
* @param String $pref
* @return Integer
*/
function prefixCount($words, $pref) {
return count(array_filter($words, function($word) use ($pref) {
return strpos($word, $pref) === 0;
}));
}
}

typescript

//typescript

function prefixCount(words: string[], pref: string): number {
return words.filter(word => word.startsWith(pref)).length;
};

elixir

# elixir

defmodule Solution do
@spec prefix_count(words :: [String.t], pref :: String.t) :: integer
def prefix_count(words, pref) do
Enum.count(words, fn(word) -> String.starts_with?(word, pref) end)
end
end

dart

//dart

class Solution {
int prefixCount(List<String> words, String pref) {
return words.where((word) => word.startsWith(pref)).length;
}
}

racket

(define/contract (prefix-count words pref)
(-> (listof string?) string? exact-integer?)
(displayln (format "(string-prefix? \"apple\" \"app\")=~a" (string-prefix? "apple" "app") ))
(displayln (format "(string-prefix? \"app\" \"apple\")=~a" (string-prefix? "app" "apple") ))
(count (lambda (word) (string-prefix? word pref)) words)
) ; 不是,你这chatgpt连string-prefix? 入参的顺序都不知道???

erlang

% -import(binary).
% -import(unicode). my_prefix([], _) -> true;
my_prefix([Ch | Rest1], [Ch | Rest2]) ->
my_prefix(Rest1, Rest2);
my_prefix(_, _) -> false. -spec prefix_count(Words :: [unicode:unicode_binary()], Pref :: unicode:unicode_binary()) -> integer().
prefix_count(Words, Pref) ->
length(lists:filter(fun(Word) ->
my_prefix(unicode:characters_to_list(Pref),unicode:characters_to_list(Word))
end, Words)). % 注意这里字符串用unicode_binary表示。
% erlang中字符串相关的list of bytes,unicode_binary,utf8_binary,list of code points的解析看这个帖子 https://stackoverflow.com/questions/19211584/unicodecharacters-to-list-seems-doesnt-work-for-utf8-list
% 下面是草稿
% io:write( binary:longest_common_prefix([<<"erlang">>, <<"ergonomy">>]) ),

介绍Programming-Idioms

Programming-Idioms是一个教你不同语言写同一个东西的网站

https://www.programming-idioms.org/idiom/96/check-string-prefix

介绍rosettacode

rosettacode对一些经典的算法给出了不同语言的实现

https://rosettacode.org

[C++/Java/Py/C#/Ruby/Swift/Go/Scala/Kotlin/Rust/PHP/TS/Elixir/Dart/Racket/Erlang] LeetCode2185. 统计包含给定前缀的字符串的更多相关文章

  1. [大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world

    [大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world 原文链接:http://www.cnblogs.com/blog5277/ ...

  2. C++、Java、Objective-C、Swift 二进制兼容测试

    鉴于目前动态库在iOS App中使用越来越广泛,二进制的兼容问题可能会成为一个令人头疼的问题.本文主要对比一下C++.Java.Objecive-C和Swift的二进制兼容问题. iOS端动态库使用情 ...

  3. java统计一个子串在指定字符串中出现的次数

    今天查着用了用String类里的几个方法,分享下代码 题目要求:统计一个子串在指定字符串中出现的次数( 提示java字串出现了6次) public class SearchSameString { p ...

  4. sublime搭建c++/java/lua/python/ruby的配置文件

    本人电脑win7 64位 提前装一下convert to utf-8插件,编译运行出现乱码,组合键ctrl+shift+c把源文件转成gbk编码. 仍乱码的话,重启编辑器|电脑|重新编辑中文部分. c ...

  5. 对Java、C#转学swift的提醒:学习swift首先要突破心理障碍。

    网上非常多都说swift是一门新手友好的语言. 但以我当年从Java转学Ruby的经验,swift对于从Java.C#转来的程序猿实际并不友好.原因就在于原来总有一种错觉:一个语言最重要的就是严谨,而 ...

  6. Java可变参数 & Python可变参数 & Scala可变参数

    Java 可变参数的特点: (1).只能出现在参数列表的最后: (2)....位于变量类型和变量名之间,前后有无空格都可以: (3).调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体 ...

  7. [JavaScript,Java,C#,C++,Ruby,Perl,PHP,Python][转]流式接口(Fluent interface)

    原文:https://en.m.wikipedia.org/wiki/Fluent_interface(英文,完整) 转载:https://zh.wikipedia.org/wiki/流式接口(中文, ...

  8. Java & Groovy & Scala & Kotlin - 20.Switch 与模式匹配

    Overview 本章主要介绍高级条件语句中的 switch 语句以及其增强版的模式匹配. Java 篇 Switch 特点 Java 中 switch 语句功能类似 if,但是 switch 主要用 ...

  9. spark-2.2.0-bin-hadoop2.6和spark-1.6.1-bin-hadoop2.6发行包自带案例全面详解(java、python、r和scala)之Basic包下的JavaPageRank.java(图文详解)

    不多说,直接上干货! spark-1.6.1-bin-hadoop2.6里Basic包下的JavaPageRank.java /* * Licensed to the Apache Software ...

  10. 2009年4月,Twitter宣布他们已经把大部分后端程序从Ruby迁移到Scala

    w Scala 简介 | 菜鸟教程  http://www.runoob.com/scala/scala-intro.html

随机推荐

  1. idea 常用的快捷键

    1.ctrl+shitf+u  大小写切换 2.ctrl+shitf+L 快速格式化代码 3.ctrl+alt+方向左键  快速回到上一层 4..ctrl+shitf+E 最近更改的文件 5.ctrl ...

  2. 解决未定义的count键“报错为:"Uncaught ReferenceError: count is not defined"

    报错: 源码:Vuex仓库.js let state = {     count } export default state   解决:未赋值的count键

  3. bzoj 3924

    动态点分治好题 首先我们考虑一个暴力做法: 每次修改之后选一个点作为根搜索整棵树,然后换根dp即可 考虑每次换根时,移向的点的消耗会减少子树代价之和*边权,而其余部分代价会增加剩余代价*边权 这样每次 ...

  4. pycharm怎么查看某个包pycharm怎么查看某个包的源码的源码

    安装ctrl点击对应的函数名或是包名即可

  5. vue + antV G6 实现流程图完整代码 (antv G6 流程图)

    效果如下: 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  6. mysql重新设置列的自增初始值

    alter table xxx auto_increment = 100; 因为设置了列的自增之后,若删除过一些行,下次再新增时还会从已删除的id算起自增,为了让数据看起来连续,可以重新设置自增起始值 ...

  7. 4组-Beta冲刺-5/5

    一.基本情况 队名:摸鲨鱼小队 组长博客:https://www.cnblogs.com/smallgrape/p/15608986.html github链接:https://github.com/ ...

  8. antd EditableProTable 组件的简单用法

    首先,antd EditableProTable 组件是在 table组件的基础上又封装了一层,可以实现行更新,删除,增加.只需动动手指,简单配置一下即可. 先下载 EditableProTable ...

  9. json中有List集合时,转换List集合内元素的时间格式

    1 public class User implements Serializable { 2 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ...

  10. web后端之连接mysql

    1建立java enterprise项目 2在WEB-INF目录下建立lib目录把jdbc用的mysql-connector-java.jar包复制过来 3添加依赖       4编写class 或在 ...