算法 对于我来说就是一个大压力,讨厌又是算法.有种不适的感觉。但拜读过《算法的乐趣》一书后对算法学习上有种莫明其妙的感觉。
相信在用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 Howell大神到google去面试,相信你们都知道他失败了,他输在算法上,这是多么可惜呀。 需然google语气不是很好,但是对于算法是很重要的,其实本女子算法也不是很好但看了《算法的乐趣》一书后,会对算法有很大提升的,以前有一个程序,运行输出结果很慢,进行八叉树量化提升速率有很大改变.(运行速度 稳定运行是程序的重要一环)
所以说不能忽视算法的重要性,各位先生&女士们
- 算法很重要
- 算法和数据结构
面试时会有算法
在微博上看到的:“玩算法的码农,打拼靠蓝条,像是法师。数学就等于蓝条最大值,数学差,魔法值不高,很快就到瓶颈了。外语影响回蓝速度。经验和智力加急速和穿透的。不玩算法的码农,像是战士,打拼靠血条,体质加生命,精神加生命回复,经验和敏捷加急速和破甲
这是以游戏形式为例子来说明算法的重要性么。
还有一位达人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;
}
以上所述都是各位前辈们的经验之谈,还请各位慢慢品尝。