题目:求s=a+aa+aaa+aaaa+aaa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数字相加),几个数相加由键盘控制。...a = input('a=') n = int(input('n=')) s = 0 sum = 0 inta = int(a[0]) for i in range(n): sum += inta...s += sum inta *= 10 print(s)
2023-05-22:给定一个长度为 n 的字符串 s ,其中 si 是:D 意味着减少;I 意味着增加。...有效排列 是对有 n + 1 个在 0, n 范围内的整数的一个排列 perm ,使得对所有的 i:如果 si == 'D',那么 permi > permi+1,以及;如果 si == 'I',那么...返回 有效排列 perm的数量 。因为答案可能很大,所以请返回你的答案对 10^9 + 7 取余。输入:s = "DID"。输出:5。...2.初始化 dpn 为 1,表示在最后一个位置填入 less 的数量只有一种。3.从倒数第二个位置开始往前遍历,根据当前位置 si-1 的值,分别枚举下一个数字的大小。...具体来说,如果当前的 sum 大于 mod,则减去一个 mod;如果当前的 sum 小于 0,则加上一个 mod。6.最终答案为 dp0。时间复杂度:O(n),只需填充一个一维数组即可。
2022-12-10:给你一个由小写字母组成的字符串 s ,和一个整数 k如果满足下述条件,则可以将字符串 t 视作是 理想字符串 :t 是字符串 s 的一个子序列。...字符串的子序列同样是一个字符串,并且子序列还满足:可以经由其他字符串删除某些字符(也可以不删除)但不改变剩余字符的顺序得到。...注意:字母表顺序不会循环例如,'a' 和 'z' 在字母表中位次的绝对差值是 25,而不是 1 。答案2022-12-10:二维动态规划的解。N为字符串长度,E为字符集大小,K为差值要求。...0~25对应a~z// 当前在s[i...]选择数字, 并且前一个数字是p// 如果p的前一个数字是p// 如果p==26,说明之前没有选过任何数字// 返回在前一个数字是p的情况下,在...s[i...]上选择数字,最长理想子序列能是多长// dp仅仅是缓存结构,暴力递归改动态规划常规技巧fn f(s: &mut Vec, i: i32, p: i32, k: i32, dp:
2022-05-12:小歪每次会给你两个字符串: 笔记s1和关键词s2,请你写一个函数, 判断s2的排列之一是否是s1的子串。 如果是,返回true; 否则,返回false。 来自字节飞书团队。...("ans = {}",ans); } fn check2( s1:&str, s2:&str) ->bool{ if s1.chars().count() s2.chars().count...() { return false; } let str2: Vec = s2.chars().collect::>(); let...mut count:[isize;256]=[0;256]; for i in 0..s2.chars().count() { count[str2[i] as usize]+=...1; } let m = s2.chars().count() as isize; let st1: Vec = s1.chars().collect::<Vec<
2022-11-26:给定一个字符串s,只含有0~9这些字符你可以使用来自s中的数字,目的是拼出一个最大的回文数使用数字的个数,不能超过s里含有的个数比如 : 39878,能拼出的最大回文数是 : 89800900...,能拼出的最大回文数是 : 954321,能拼出的最大回文数是 : 5最终的结果以字符串形式返回。...str的长度为N,1 对一对的数据,然后填写剩下的最大的数据,最后组合就是需要的返回值。...注意取一对数的时候刚开始不能取0,因为起始为0的数不是回文数。代码用rust编写。...: HashMap = HashMap::new(); let n = s.len() as i32; let sc: Vec = s.chars
2021-10-30:有效的字母异位词。给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。...注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。s 和 t 仅包含小写字母。力扣242。 答案2021-10-30: 自然智慧即可。 1.判断s和t的长度是否相等。...2.统计字符串s的字符数,用map存下来。 3.遍历t,map的值减下来,如果map值变成了负数,返回false。 4.返回true。 时间复杂度:O(N)。 额外空间复杂度:O(1)。...原因是字符种类有限。 代码用golang编写。...t) fmt.Println(ret) } func isAnagram(s, t string) bool { if len(s) !
2023-03-11:给定一个N*M的二维矩阵,只由字符'O'、'X'、'S'、'E'组成,'O'表示这个地方是可通行的平地,'X'表示这个地方是不可通行的障碍,'S'表示这个地方有一个士兵,全图保证只有一个士兵...,'E'表示这个地方有一个敌人,全图保证只有一个敌人,士兵可以在上、下、左、右四个方向上移动,走到相邻的可通行的平地上,走一步耗费a个时间单位,士兵从初始地点行动时,不管去哪个方向,都不用耗费转向的代价...返回士兵找到敌人的最少时间。如果因为障碍怎么都找不到敌人,返回-1,1 一个士兵、一个敌人。来自华为。...代码根据山寨版chatgpt稍做修改写的。这不得不承认chatgpt很强大,这还是山寨版的,感觉比我自己写得还要好。以下代码是生成的rust代码,稍微做了修改。...= 1的代价,并且取消对该位置的访问标记ans := min(p[0], min(p[1], min(p[2], p[3])))visited
2023-03-11:给定一个N*M的二维矩阵,只由字符'O'、'X'、'S'、'E'组成, 'O'表示这个地方是可通行的平地, 'X'表示这个地方是不可通行的障碍, 'S'表示这个地方有一个士兵,全图保证只有一个士兵..., 'E'表示这个地方有一个敌人,全图保证只有一个敌人, 士兵可以在上、下、左、右四个方向上移动, 走到相邻的可通行的平地上,走一步耗费a个时间单位, 士兵从初始地点行动时,不管去哪个方向,都不用耗费转向的代价...代码根据山寨版[chatgpt](https://chatgpt.zcorky.com/)稍做修改写的。这不得不承认chatgpt很强大,这还是山寨版的,感觉比我自己写得还要好。...以下代码是生成的rust代码,稍微做了修改。...= 1<<31-1 { p[3] += b } // 返回四个方向中最小的代价,并且取消对该位置的访问标记 ans := min(p[0], min(p[1], min(p[2],
2024-09-21:用go语言,给定一个字符串 s,字符串中的每个字符要么是小写字母,要么是问号'?'。...对于一个仅包含小写字母的字符串t,我们定义cost(i)为在t的前i个字符中与t[i]相同的字符的出现次数。字符串 t 的分数是所有位置i的cost(i)之和。...现在的任务是用小写字母替换所有的问号'?',使得字符串s的分数最小。如果有多个替换方案使得分数最小,那么返回字典序最小的一个。输入:s = "???"。输出:"abc"。...大体步骤如下: 1.初始化一个大小为27的整型数组freq,用于记录每个字符出现的次数,初始全部为0,26号位作为哨兵。 2.遍历字符串s,若字符不是'?',则在freq相应位置累加。...3.对freq数组进行排序,得到排序后的数组f。 4.统计字符串s中问号'?'的个数q,初始化limit和extra为0。 5.从1开始遍历数组f,计算每个字符值变化产生的增加的字符数sum。
将递归用作主要的控制结构。在某些语言中,不存在其它“循环”构造。 重点集中在列表 LISt 处理(例如,名称 Lisp)。列表经常和子列表的递归一起使用以替代循环。 “纯”函数语言能够避免副作用。...消除副作用在除去完美的、有意义的语句不用而代之以晦涩的、嵌套的表达式的工作后,一个很自然的问题是:“为什么?!”我对 FP 的所有描述都是使用 Python 做到的。...但最重要的特性 -- 可能也是具体情况中最有用的特性 -- 是它消除了副作用(或者至少对一些特殊领域,例如单一体,有一些牵制作用)。...Python 流控制构造所使用的方法(在过程中消除了副作用)。...参考资料 Bryn Keller 的 "xoltar toolkit",它包括了模块 functional,添加了大量有用的对 Python 的 FP 扩展。
https://blog.csdn.net/sinat_35512245/article/details/53675660 给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。...输出需要删除的字符个数。 输入描述: 输入数据有多组,每组包含一个字符串s,且保证:1s.length<=1000. 输出描述: 对于每组数据,输出一个整数,代表最少需要删除的字符个数。...string.h> #include using namespace std; const int MAXN=1010; int temp[MAXN][MAXN]; //先求s的反串...reverse,然后求他们的最长的公共子序列,要删除的字符个数就能知道 //时间复杂度O(N^2) int getRemoveNumber(string &s1) { string s2(s1...); reverse(s2.begin(),s2.end()); int len=s1.length(); memset(temp,0,sizeof temp); for
2022-12-10:给你一个由小写字母组成的字符串 s ,和一个整数 k 如果满足下述条件,则可以将字符串 t 视作是 理想字符串 : t 是字符串 s 的一个子序列。...字符串的子序列同样是一个字符串,并且子序列还满足: 可以经由其他字符串删除某些字符(也可以不删除)但不改变剩余字符的顺序得到。...注意:字母表顺序不会循环 例如,'a' 和 'z' 在字母表中位次的绝对差值是 25,而不是 1 。 答案2022-12-10: 二维动态规划的解。 N为字符串长度,E为字符集大小,K为差值要求。...0~25对应a~z // 当前在s[i...]选择数字, 并且前一个数字是p // 如果p的前一个数字是p // 如果p==26,说明之前没有选过任何数字 // 返回在前一个数字是p的情况下...,在s[i...]上选择数字,最长理想子序列能是多长 // dp仅仅是缓存结构,暴力递归改动态规划常规技巧 fn f(s: &mut Vec, i: i32, p: i32, k: i32,
开关表达式最早是在 Java 12和13中引入的,在这两种情况下都是作为一个预览特性。它们现已在 jep361中最后确定。这为开发人员提供了两种新的语法变体,它们具有更短、更清晰和更不容易出错的语义。...根据托尼•霍尔爵士(Sir Tony Hoare)自己的说法,他发明的零Y引用是一个错误,其后果高达数十亿美元。这仅仅是因为在20世纪60年代阿尔戈语的发展过程中,它是如此容易实现。...Kevlin Henney还看到了以下优点:“我认为Java记录功能的有趣的副作用之一是,实际上,它将帮助揭示多少Java代码实际上是面向 getter / setter而非面向对象的。”...一个人有两个字段的简单定义可以在这里看到 : public record Person( String name, Person partner ) {} 一个带有附加构造函数的扩展变量,因此只有字段name...除了所描述的功能(对于开发人员来说主要是有趣的)之外,还有其他一些更改。在JEP 352中,对FileChannel API进行了扩展,以允许创建MappedByteBuffer实例。
根据托尼•霍尔爵士(Sir Tony Hoare)自己的说法,他发明的零Y引用是一个错误,其后果高达数十亿美元。 这仅仅是因为在20世纪60年代阿尔戈语的发展过程中,它是如此容易实现。...在其他语言中,辅助工具早已构建到语法和编译器中,比如Groovy中 NullObjectPattern 和 Safe Navigation 操作符(*some?.method()*)。...Kevlin Henney还看到了以下优点:“我认为Java记录功能的有趣的副作用之一是,实际上,它将帮助揭示多少Java代码实际上是面向 getter / setter而非面向对象的。”...一个人有两个字段的简单定义可以在这里看到 : public record Person( String name, Person partner ) {} 一个带有附加构造函数的扩展变量,...除了所描述的功能(对于开发人员来说主要是有趣的)之外,还有其他一些更改。 在JEP 352中,对FileChannel API进行了扩展,以允许创建MappedByteBuffer实例。
2022-03-25:给定一个长度为 N 的字符串 S,由字符'a'和'b'组成,空隙由 '?' 表示。...你的任务是用a字符或b字符替换每个间隙, 替换完成后想让连续出现同一种字符的最长子串尽可能短。 例如,S = "aa??bbb", 如果将"??"...那么方案二是更好的结果,返回3。 S的长度 <= 10^6。 来自CMU入学申请考试。 答案2022-03-25: 根据S的长度 是O(N)才能过。...1.左 == 右,中间问号长度是奇数。a?a变成aba。 2.左 == 右,中间问号长度是偶数。a????a变成abaaba。 3.左 != 右,中间问号长度是偶数。a????b变成ababab。...= 右,中间问号长度是大于1的奇数。a???b变成abaab或者aabab。 5.左 != 右,中间问号长度等于1。a?b的问号根据ab数量决定,谁小成全谁。相等的时候,成全左边。
给定一个字符串s和一个匹配串p。"."匹配单个字符。"*"匹配左边元素的多个字符。判断p是否匹配s。比如s="ab",p="a.",返回true。比如s="ab",p="a*",返回false。...福大大 答案2021-07-02: 为了更好的处理边界问题。s和p都追加"1"。比如s="",p="c*c*",加1后s="1",p="c*c*1"。方法1递归和方法2动态规划都会用到。...si指针指向s中某个位置,pi指针指向p中某个位置。 1.1.pi+1不带星。 si指针右移1位,pi指针右移1位。 1.2.pi+1带星。 si指针右移1位,pi指针右移2位。匹配的时候。...匹配的时候。 si指针右移0位,pi指针右移2位。匹配的时候和不匹配的时候。 2.动态规划。时间复杂度是O(MN),空间复杂度是O(MN)。 代码用golang编写。...(p) { return false } //pi+1是否是* if pi+1 < len(p) && p[pi+1] == '*' { if p
求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。...例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制 //求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。...int main() { int n,m,sum=0; int i; printf("请输入你要求几个数相加(格式:x):\n"); scanf("%d",&n); printf("这个数是几呢...\n"); scanf("%d",&m); for(i=1;i<=n;i++) { sum=sum+m; // printf("sum%d=%d\n",i,sum);//用于理解每一步的sum...等于多少 m=m+m*pow(10,i); } printf("总的sum=%d",sum); return 0; } 测试:
在Go语言中,函数具有丰富的特性,如多参数、多返回值、匿名函数、闭包等,这使得Go语言函数不仅仅是一种执行代码的方式,还是构建模块化程序和实现代码复用的关键工具。...用于打印问候语。...函数返回值 函数返回值是函数执行完毕后返回的结果。在Go语言中,函数可以返回一个或多个值,也可以不返回任何值。...闭包 闭包是一个函数值,它引用了其函数体之外的变量。在Go语言中,函数可以形成闭包,使其可以访问其外部函数的变量。...使用 fmt.Errorf 创建一个错误信息,然后返回给调用者处理。 函数的最佳实践与总结 函数是Go语言中的基本构建块,通过适当使用函数,可以使代码更加模块化、清晰和易于维护。
尽管大多数情况下,都不需要实现一个注释,不过在一些情况,如注释驱动的框架内,可能会很有用。 2....List myInts = new ArrayList() {{ add(1); add(2); add(3); }}; 双花括号初始化实际上是多个语法元素的组合...首先,我们创建一个扩展ArrayList类的匿名内部类。由于ArrayList没有抽象方法,因此我们可以为匿名类实现创建一个空的实体。...他们的主要区别之一是我们的内部类对包含的类有隐式引用,我们正在创建一个非静态内部类。...中的错误,但实际上是该语言中的内置的功能。
领取专属 10元无门槛券
手把手带您无忧上云