华为机试面试3

这篇博客主要涵盖了华为机试面试中的几道算法题,包括逆序整数、计数字符、整数逆序输出和英文句子逆序。还讨论了数组和链表的区别以及未初始化数组的默认值情况。
摘要由CSDN通过智能技术生成

9、输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。

保证输入的整数最后一位不是 0 。数据范围: 1≤n≤108 1≤n≤108 

输入描述:

输入一个int型整数

输出描述:

按照从右向左的阅读顺序,返回一个不含重复数字的新的整数

#include <iostream>
#include<algorithm>
using namespace std;


int main() {
    string a;
    cin>>a;
    reverse(a.begin(),a.end());
    int arr[200]={0};//哈希表初始为0,手动置0,若写在全局部分,默认就是0
    for(auto c:a)
    {
        if(arr[c]!=1)//其余数组位置都是0,重复,不输出
        {
            arr[c]=1;//初始数组元素都为0,遍历一个,就将该数组在该数字的位置,数组元素值置为1
            cout<<c;
        }
    }
     
}

10、编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内( 0~127 ,包括 0 和 127 ),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次。例如,对于字符串 abaca 而言,有 a、b、c 三种不同的字符,因此输出 3 。

数据范围: 1≤n≤500 1≤n≤500 

输入描述:

输入一

  • 24
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值