zoukankan      html  css  js  c++  java
  • 算法笔试题

    1.假定x=500,求下面函数的返回值__6_

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    int fun(int x)
    {
        int countx = 0;
        while (x)
        {
            countx++;
            x = x & (x – 1);
        }
        return countx;

    解析:x&(x-1) 就是从右到左遇到的第一个1后面的(包括1)全都变成 0 ,更直观的:会导致x二进制中的1减少一个。本题答案:x二进制中有多少位1就会进行多少次与计算。

    500的二进制表示是:111110100,共有6个1。所以答案是6。
     
    2.有两个N*N的矩阵A和B,想要在PC上按矩阵乘法基本算法编程实现计算A*B。假设N较大,本机内存也很大,可以存下A、B和结果矩阵。那么,为了计算 速度,A和B在内存中应该如何存储(按行存指先存储第一行,再第二行,直到最后一行;按列存指先存储第一列,再第二列,直到最后一列)?
    都按行来存。
  • 相关阅读:
    CSS hack
    字符串中常用的方法
    排序算法
    拾遗
    数组类型检测
    数组常用的方法
    go 文件服务器(标准库) 添加关机,睡眠,退出功能
    go cmd 交互 初始化执行某些命令
    go 内网IP及外网IP获取
    go 快排实现
  • 原文地址:https://www.cnblogs.com/wy1290939507/p/4727705.html
Copyright © 2011-2022 走看看