ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

华为机试刷题(1)

2021-03-05 14:57:51  阅读:305  来源: 互联网

标签:类型转换 int 2522% 整数 华为 str 字符串 机试 刷题


华为机试:https://www.nowcoder.com/ta/huawei

1. HJ7 取近似值
类型转换:自动类型转换、强制类型转换,小数强制类型转换为int类型时不会四舍五入,而是只保留整数部分,舍弃小数部分。
char、short在计算中是按照其对应数字进行计算。
Flase\True在计算中没有对应数字。
2. HJ15 求int型数据在内存中存储时1的个数
位运算:一个二进制数1100,从右边数起第三位是处于最右边的一个1。减去1后,第三位变成0,它后面的两位0变成了1,而前面的1保持不变,因此得到的结果是1011.我们发现减1的结果是把最右边的一个1开始的所有位都取反了。这个时候如果我们再把原来的整数和减去1之后的结果做与运算,从原来整数最右边一个1那一位开始所有位都会变成0。如1100&1011=1000.也就是说,把一个整数减去1,再和原整数做与运算,会把该整数最右边一个1变成0.那么一个整数的二进制有多少个1,就可以进行多少次这样的操作。
进制转换:可针对任何进制

#include<iostream>
using namespace std;
int main()
{
    int n,ans=0;
    cin>>n;
    while(n>0)
    {
        ans+=(n%2);
        n/=2;
    }
    cout<<ans;
    return 0;
}

3. HJ11数字颠倒
在c++中:
将数字转换为字符串:string str=to_string(n)
将字符串进行倒序:
#include <algorithm>
reverse(str.begin,str.end)
在java中:
将string类型转换为stringbuffer类型,再利用stringbuffer类型中的字符串翻转函数

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner scan=new Scanner(System.in);
        String str=scan.nextLine();
        StringBuffer rs=new StringBuffer(str);
        rs.reverse();
        System.out.println(rs);
    }
}

String类型与StringBuffer类型的差别
https://blog.csdn.net/h273979586/article/details/76847184?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161492545516780255260141%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=161492545516780255260141&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-2-76847184.first_rank_v2_pc_rank_v29&utm_term=java%E4%B8%ADString%E5%92%8CStringBuffer
4. HJ12字符串反转
java中charAt(i)用于返回字符串中从0到第i个字符

标签:类型转换,int,2522%,整数,华为,str,字符串,机试,刷题
来源: https://blog.csdn.net/weixin_43643881/article/details/114387580

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有