算法 乐趣 程序


算法 对于我来说就是一个大压力,讨厌又是算法.有种不适的感觉。但拜读过《算法的乐趣》一书后对算法学习上有种莫明其妙的感觉。



相信在用Mac的程序员,差不多都知道 Homebrew。Homebrew 的开发者是 Max Howell。
Max Howell就在几天前,在推特发帖:
Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off.
谷歌:虽然我们 90% 工程师都在用你写的软件(Homebrew),但你不能在白板上反转二叉树 ,所以滚蛋。

max



Max Howell大神到google去面试,相信你们都知道他失败了,他输在算法上,这是多么可惜呀。 需然google语气不是很好,但是对于算法是很重要的,其实本女子算法也不是很好但看了《算法的乐趣》一书后,会对算法有很大提升的,以前有一个程序,运行输出结果很慢,进行八叉树量化提升速率有很大改变.(运行速度 稳定运行是程序的重要一环)


所以说不能忽视算法的重要性,各位先生&女士们

  1. 算法很重要
  2. 算法和数据结构
  3. 面试时会有算法

    在微博上看到的:“玩算法的码农,打拼靠蓝条,像是法师。数学就等于蓝条最大值,数学差,魔法值不高,很快就到瓶颈了。外语影响回蓝速度。经验和智力加急速和穿透的。不玩算法的码农,像是战士,打拼靠血条,体质加生命,精神加生命回复,经验和敏捷加急速和破甲
    这是以游戏形式为例子来说明算法的重要性么。

    还有一位达人Mon*****r;有一些数据结构基础知识就有二叉树什么的,还有经典报童卖报数学模型(数学差我是看不懂)

算法无处不在,下面出道题目给小伙伴们

题目:
幂运算是常见的数学运算之一,其原理是用同一个数相乘多次,但是有的时候当幂指数特别大的时候,这样的运算就太浪费时间。请大家学会在幂中加特技,让幂运算的效率提高到可以接受的程度。
输入:
第一个行一个整数T,表示有T组数据
每组数据,输入x,y 求x的y次幂 (2≤ x ,y≤10^9)
输出:
每组数据输出一个整数,表示幂运算对1000000007取模后的结果
样例输入:
2
2 4
2 100000000
样例输出:
16
494499948




















答案:
1. bbs.csdn.net/topics/391006597

2.


/*
 *  b.cpp
 *  快速幂
 *  Created on: 2015年7月10日
 *  Author: sinbas(¨ω¨)
 * 
 */
#include <iostream>
#include <cstdio>

using namespace std;

long long quickpow(long long m, long long n, long long k) {
    long long b = 1;
    while (n > 0) {
        if (n & 1){
            b = (b * m) % k;
        }
        n = n >> 1;
        m = (m * m) % k;
    }
    return b;
}

int main() {
    int t;
    scanf("%d", &t);

    long long aa = 1000000007LL;

    while (t--) {
        long long a, b;
        scanf("%I64d%I64d", &a, &b);
        printf("%I64d\n", quickpow(a, b, aa));
    }

    return 0;
}

以上所述都是各位前辈们的经验之谈,还请各位慢慢品尝。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值