统计一个字符串中整数的个数,别人家的面试题

作者:计算机知识

外人家的面试题:总括“一”的个数

2016/05/27 · JavaScript · 5 评论 · Javascript, 算法

本文小编: 伯乐在线 - 10年踪迹统计一个字符串中整数的个数,别人家的面试题。 。未经作者许可,禁止转发!
欢迎到场伯乐在线 专栏撰稿人。

小胡子哥 @Barret李靖 给本人推荐了三个写算法刷题的地点 leetcode.com,没有 ACM 那么难,但难点很有意思。而且传闻这几个题材都来源于壹些商店的面试题。好呢,解解外人公司的面试题其实很好玩,既能整理思路磨炼能力,又不用顾虑漏题 ╮(╯▽╰)╭。

长途电话短说,让大家来看一道题:

总括各样字符个数,计算字符个数

 1 //题目:输入一行字符,分别统计其中英文字母、空格、数字和其它字符的个数
 2 //程序分析:利用while语句,条件为输入的字符不为'n'。
 3 
 4 #include<stdio.h>
 5 
 6 int main()
 7 {
 8     char c;
 9     int letters = 0, spaces = 0, digits = 0, others = 0;
10     printf("Please input some charactersn");
11     while( (c=getchar()) != 'n' )
12     {
13         if( (c>='a'&&c<='z') || (c>='A'&&c<='Z') )
14             letters  ;
15         else if( c>='0'&&c<='9' )
16             digits  ;
17         else if( c==' ' )
18             spaces  ;
19         else
20             others  ;
21     }
22     printf("letters=%d,digits=%d,spaces=%d,others=%dn", letters, digits, spaces, others);
23     return 0;
24 }

 

壹 // 标题:输入一行字符,分别总计个中国和英国文字母、空格、数字和别的字符的个数 2 // 顺序分析:利用...

2017/04/24
很简单
%s/test/&/gn(回车)

面试之中问到了二个算法:在3个字符串中,计算出现的平头的个数,接二连三的数字为2个整数(不思量负数),字符串中不带有空格。我是用Java完结的。

统计“1”的个数

给定一个非负整数 num,对于任意 i,0 ≤ i ≤ num,计算 i 的值对应的二进制数中 “1” 的个数,将那一个结果再次回到为二个数组。

例如:

当 num = 伍 时,重临值为 [0,1,1,2,1,2]。

/** * @param {number} num * @return {number[]} */ var countBits = function(num) { //在这边完成代码 };

1
2
3
4
5
6
7
/**
* @param {number} num
* @return {number[]}
*/
var countBits = function(num) {
    //在此处实现代码
};
/**
* a10b20c30de40fg
* 思路:首先要遍历所有的字符,判断每个字符是不是数字,是数字的话就把它放在一个StringBuilder对象
* 里面并标记,下面一个字符要是数字就加在后面,不是数字的话,就把当前的StringBuilder里面的数字
* 塞到list里面,最后判断list长度即可
*/

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    String s = scanner.next();
    scanner.close();    
    if (s != null && s.length() != 0) {
        List<Integer> list = new ArrayList<Integer>();
        StringBuilder sb = new StringBuilder();
        boolean isChar = false;
        for (int i = 0; i < s.length(); i  ) {
            char c = s.charAt(i);
            if (c >= '0' && c <= '9') {
                sb.append(s.charAt(i));
                if (i == s.length() - 1) {
                    list.add(Integer.parseInt(sb.toString()));
                    sb.setLength(0);
                }
                isChar = false;
            } else {
                if (sb.length() > 0 && isChar == false) {
                    list.add(Integer.parseInt(sb.toString()));
                    sb.setLength(0);
                }
                isChar = true;
            }
        }
        System.out.println(list.size());        
    }
}

本文由bwin必赢发布,转载请注明来源

关键词: Java JavaScript Vim Java放弃之路