
算法
文章平均质量分 60
算法
王万林 Ben
CAD/IT,熟悉芯片设计流程,操作系统,存储。欢迎交流,技术支持请加微信 wanlinxiong。https://icinfra.cn
展开
-
【牛客网】字符串排序
字符串排序题目描述编写一个程序,将输入字符串中的字符按如下规则排序。规则 1 :英文字母从 A 到 Z 排列,不区分大小写。如,输入: Type输出: epTy规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。如,输入: BabA输出: aABb规则 3 :非英文字母的其它字符保持原来的位置。如,输入: By?e输出: Be?y注意有多组测试数据,即输入有多行,每一行单独处理(换行符隔开的表示不同行)输入描述:输入字符串输出描述:输出字符串示例1输入A Famo原创 2021-04-18 23:00:36 · 280 阅读 · 4 评论 -
【牛客网】合唱队
牛客网合唱队题目描述计算最少出列多少位同学,使得剩下的同学排成合唱队形说明:N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足存在i(1<=i<=K)使得T1<T2<…<Ti-1Ti+1>…>TK。你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队原创 2021-04-17 19:30:27 · 336 阅读 · 0 评论 -
1到1亿所有数字里有多少个数字1?
乍看这题真够唬人的,群里看到这个题目后争先恐后的说看法。最简单的办法不外乎就是遍历每个数,然后toString() 看看里面有多少个1,最后全部加起来,这是我们得到标准答案的办法。群里3个人写了3个笨方法都跑出来了,3个笨方法,呵呵 有意思,笨方法也不一样。 程序的实现真是变幻莫测。var re = /1{1}/g;var max = 1 * 10000 * 10000;getTotal(f);getTotal(f1);getTotal(f2);function getTotal(func)转载 2021-04-17 08:51:50 · 1375 阅读 · 0 评论 -
loop、iterate、traversal和recursion这几个词
loop、iterate、traversal和recursion这几个词先摘抄“为之漫笔”对这几个概念的一段理解:loop、iterate、traversal和recursion这几个词是计算机技术书中经常会出现的几个词汇。众所周知,这几个词分别翻译为:循环、迭代、遍历和递归。乍一看,这几个词好像都与重复(repeat)有关,但有的又好像不完全是重复的意思。那么这几个词到底各是什么含义,有什么区别和联系呢?下面就试着解释一下。循环(loop),指的是在满足条件的情况下,重复执行同一段代码。比如,whi转载 2021-04-17 08:33:49 · 14944 阅读 · 0 评论 -
递归的思想
为什么要用递归编程里面估计最让人摸不着头脑的基本算法就是递归了。很多时候我们看明白一个复杂的递归都有点费时间,尤其对模型所描述的问题概念不清的时候,想要自己设计一个递归那么就更是有难度了。很多不理解递归的人(今天在csdn里面看到一个初学者的留言),总认为递归完全没必要,用循环就可以实现,其实这是一种很肤浅的理解。因为递归之所以在程序中能风靡并不是因为他的循环,大家都知道递归分两步,递和归,那么可以知道递归对于空间性能来说,简直就是造孽,这对于追求时空完美的人来说,简直无法接接受,如果递归仅仅是循环,估转载 2021-04-17 08:13:21 · 942 阅读 · 0 评论