s******n 发帖数: 3946 | 1 补充一下, 这个程序是抄的,原程序是循环,所以next()要把while改成if,用一个全局变量暂存当前的中节点。很多地方都有原代码。 |
|
|
H***e 发帖数: 476 | 3 喝喝,如果我需要全局变量来比较clean得话,我一般把他们wrap到一个 class里面。。 |
|
d********w 发帖数: 363 | 4 谢谢指点,确实是问道分布式了,一台master,n台slaves,不是考虑1分钟,而是总体
判断是否超过阈值。我大致设想是client发到master请求,master去收集各台机器的数
据,可以并发的去做,有个全局变量,每个线程等待,只要当前求和大于那个阈值,立
即返回false,而最坏情况是等待所有的slave返回结果。
这个还是要写代码的,我都忘了当时怎么写的了。 |
|
d****n 发帖数: 1637 | 5 看了下楼主的《剑指Offer——名企面试官精讲典型编程题》
第7章,第一个实例简直就是面试官装B的一个实例。
说什么atoi 返回0的时候也可能是错误,会设置一个全局变量。
根本就是瞎扯。或者说最近的libc里面根本没有提。害的我找了一圈
###############man 3 atoi :############
DESCRIPTION
The atoi() function converts the initial portion of the string
pointed to by nptr to int. The behaviour is the same as
strtol(nptr, (char **)NULL, 10);
except that atoi() does not detect errors.
###############atoi.c###################
00001 /*
00002 * This file is shared between libc and the kern... 阅读全帖 |
|
p*********y 发帖数: 17 | 6 我觉得没什么大问题,提下strtol更好,这个是用全局变量的。
Windows
In
Parameter |
|
f*****e 发帖数: 2992 | 7 今天凌晨3:00的时候想到了,刚想来爆料,结果被别人先爆了。
不过用标号就好了,不用parent count。保持一个全局变量,给节点依次标号,
当再次访问的时候标号不一样就不同。每个节点构造函数初始化标号为-1。
访问时标号为1至N。 |
|
t****a 发帖数: 1212 | 8 sudoku solver如果用recusion的话,会在函数中多次call自己对吧?因为某个格子有
多种可能取值,那就要call多次, 也就是
solver(X) = solver(X1) or solver(X2) or ... or solver(Xn) 这里用X表示sudoku
的状况,solver函数返回T or F。
简单起见我就写了个fib,也是一样,fib(n) = fib(n-1) + fib(n-2),可以把这种计
算用map函数来实现,再将map换成pmap就并行啦。程序里有个if来控制生成的thread个
数,生成太多就糟了,刚才试过,不加控制生成太多thread会直接挂掉。
其实map-reduce的map灵感也就来自lisp的map。
回到sudoku,这个并行要难一些,因为它是个有回溯的过程,map出的有些子函数很早
结束有些晚结束,所以用相同的逻辑并行效率不好。如果用个全局变量来估算当前的
thread个数并据此判断用map还是pmap会好一些。
不得不说这样的实现实在很丑陋... 如果有人能把lazy evaluation的思路加进去,把
recusi... 阅读全帖 |
|
n****r 发帖数: 120 | 9 LeetCode上对Java的建议是可以是用一个全局变量来保存head!这个是可行的。另外一
个方法就是把head包在一个数组里,传入该数组 |
|
j*******r 发帖数: 201 | 10 做题是经常碰到需要pass by reference, 特别是有些recursive calls. JAVA这一点
就不如C++方便。我一般是用设定class member来解决需要多个pass by reference的情
况。比如说leecode中 recover binary tree一题,用C++不用10行,用JAVA就只能设
定三个全局变量prev, first, and second. 请问有什么好办法吗? |
|
p*****2 发帖数: 21240 | 11 OO现在最流行,以前没有意识,看了design pattern之后发现问题实在是太多了。OO是
反计算机的,GoF很多流行的pattern又是反OO的,所以非常的矛盾。无论你怎么设计都
会被别人挑错。为了面试只能迎合面试官的胃口。这也就解释了为什么我对OO design
的题一直心里发毛的原因。因为很难design里边没有毛病。OO本身就有缺陷,你怎么可
能design的完美呢?
比如你用Singleton, 很多人痛恨Singleton,你可能就完了。
你用design pattern, 面试官可能会说你over design。
你不用design pattern, 面试官可能会说你design 不 flexible
你用继承,面试官可能会说你反OO,影响了封装性。
你用接口,面试官可能会说你增加了不必要的冗余代码
总之OO内部的意见就不统一,OO的三大特性都有问题。
封装性造成了不承认全局变量,因此出了Singleton pattern, 然后Singleton又被批评
反OO
继承性本来可以防止冗余,但是增加了耦合,被批评影响了封装性,所以有了中意与组
合而不是继承,继承能不用就... 阅读全帖 |
|
p*****2 发帖数: 21240 | 12
我不是说了吗?这些DP很多都是因为OO不承认全局变量和函数造成的。Singleton就是
弥补OO这些缺陷的。如果static function根本不需要instance。 |
|
g********o 发帖数: 30 | 13 我骑驴找马,昨天经历一次难忘的面试。
去到一看,这公司还不如我目前这个驴公司,小小楼里面的第二层。当我进去主工作室
,一台桌球居然摆在正门口!!!!!!我擦,这是什么工作环境?旁边是一堆吃的和
喝的,我问这是为周五准备的吗?答曰平时就这样。我想走的心从看到桌球台那一刻起
就有了。心想就纯粹为了做做题来吧。谁知道最坑爹的做题开始了:
这是一道让我不知怎么样说才好题:“给我两个空函数,一个是响应服务器的函数void
handleRequest(),一个是get过去10秒内服务区平均每秒响应数的函数 double
getRequestAve()。请实现吧。”就这样,一大个白版,两个空函数,实现吧。没有给
任何其他信息!!!!就三个字,实现吧!!!我去啊!!!!!大哥!!你是要考我
什么啊?我不懂你们系统是怎么实现这个的,但这个重要吗?算法不考?C/c++能力不
考? 被我问了半天,说让我建一个全局变量记录响应数,好吧,你不能早说吗?再继
续问,他说让我用linux的系统函数可以拿到当前时间。好吧。到底后面这函数什么时
候被调用的,有没有其他一个进程间隔性地调用它?
好吧,我不会做。请问大家,... 阅读全帖 |
|
r*******e 发帖数: 7583 | 14 这题考的是设计,跟算法C++什么的没关系吧
一点想法:
一个全局变量记录响应数totalReqCount;
一个queue Q,每个元素是 pair
in handleRequest()
T = currentTime;
while Q.front.first < T - 10
totalReqCount -= Q.front.second
Q.pop
if Q.empty || Q.back.first != currentTime
Q.push(pair(currentTime, 1))
else
Q.back.second++;
totalReqCount++;
in getRequestAve()
T = currentTime;
while Q.front.first < T - 10
totalReqCount -= Q.front.second
Q.pop
return totalReqCount / 10
void |
|
p*****2 发帖数: 21240 | 15 这题multi thread怎么搞比较好?指名了用全局变量了。不同步怎么搞? |
|
r*******e 发帖数: 7583 | 16 固定size的相对容易
都不需要额外的list structure,直接在free memory block里做记录
对于每一个free block
在首地址处记录下一个free block的地址,形成一个embedded link list
初始状态:
全局变量FirstFreeBlock指向大block的首地址
对n = MAX_SIZE/size 个blocks,初始化其首地址使其形成链表
myMalloc操作:
rtn = FirstFreeBlock
FirstFreeBlock = FirstFreeBlock->next
return rtn
myFree:
addr->next = FirstFreeBlock
FirstFreeBlock = addr
free |
|
w********g 发帖数: 106 | 17 来自主题: JobHunting版 - 小公司面经 knowledge题和coding都很常见,就不说了。
但是有个题我不知道考点是什么:
已给出全局变量
struct val {
char *s;
};
struct val input[100];//已事先存好100个val
struct val output[100];//已事先存好100个val,但都是任意赋值
char buffer[足够大];
要求写两个函数
InputToBuffer(void *buffer, struct val input)
BufferToOutput(struct val output, void *buffer)
第一个函数把input放到buffer里,第二个函数反之。
要求把两个函数依次执行完之后,input和output相等。
题目虽然稍微有些繁琐,但是其实意思很明确。
原题特意说过不必考虑内存不够用、字符串与结构体不valid的情况。
我不明白这题考点是什么,谁给我讲讲?
我的做法就是定义一个char *b = (char *)buffer,
然后两个函数里分别
memcpy(b, input[i], size+1)
memcpy(o... 阅读全帖 |
|
l*******0 发帖数: 63 | 18 个人感觉是你传head进去是不行的。head本身是个值,你local改了也没用。要么你用
个全局变量,要么你用TreeNode curTail=new TreeNode[1]; curTail[0]=head;
然后把curTail传进去。接着,把你源代码里面所有的head改成curTail[0]应该就好了。 |
|
p*****3 发帖数: 488 | 19
signature是
,
全局变量不大好吧,我的话一般会用一个wrapper函数和一个helper函数,helper传在
wrapper里创建的map |
|
|
f******l 发帖数: 32 | 21 来自主题: JobHunting版 - 刷题的境界 刷题有好几种境界:
1. 通过所有leetcode testcases。估计60%的人能做到。
2. 一题多解,融会贯通。用recursive的能用iterative吗? 用dfs的能换成bfs吗?用
java写能避免用全局变量吗?
3. 反复推敲,找最优解。 你的code能做到一行也不能删,一行也不能加嘛?绝大多数
题目都应该在20行code以内搞定。
能做到所有这些的人面试FLG就没什么问题了。 |
|
i*********e 发帖数: 21 | 22 去年的onsite,挂在这题上了。其实不难,之前也有人发过,但好像没详细讨论过。
一组字符串,求所有彼此之间无公共字符的两两组合中,两字符串长度乘积的最大值。
上来就是暴力解O(n^2).问有没有更快的。我问:better than O(n^2)? 对方没正面回答
。结果我以为他是默认了。于是挖空心思的找O(nlogn)的解法,建字符索引,后缀树都
想过。最后没办法,问他有没有hint。结果他提了剪枝。当时我就崩溃了,剪枝早想到
了,但剪枝的话worst case还是O(n^2)啊!我立刻说了按长度排序再剪枝的方法。但是
时间已经不够写代码了。
想问问这题究竟有没有优于O(n^2)的解法。当然,假定比较两字符串的时间设为常数。
我的感觉是没有的。当然,我可能是错的。
教训就是面试是交流的过程,想到什么improvement就说出来讨论讨论,就算他不认可
,至少也知道你想到了一个方法。最忌讳闷头苦想,而面试官根本不知道你在想啥。
==========
去年还面了FB的onsite,挂在把二叉树转为双向链表上,吐血。当时昏了头拼了命要写
个functional style的,结果把自己绕进... 阅读全帖 |
|
h*******e 发帖数: 1377 | 23 楼主不是做kenrnel的吗 怎么会不知道 thread safe 啊。。就是 把改变全局变量 或
者 static 的加上锁, c++ 有时候会先double check 一下吧,check 是不是空的 先
看如果不是空就不加锁, 真空了再lock 起来。 |
|
f****n 发帖数: 399 | 24 第一次调用之前存一个全局变量为啥不行?多线程的?
[在 liamsun (维) 的大作中提到:]
:如果函数参数是二叉树的指针,有没有办法可以把根指针保存下来?
:
:........... |
|
b**********1 发帖数: 215 | 25 但是好像 不能把 a 的值 传递出来,作为全局变量。 所以在HTML 取不出来。不知道
为什么 |
|
H**********5 发帖数: 2012 | 26 这个女烙印把循环5次的操作硬是写成重复5行。一个函数600行。一大堆的if else 嵌
套N次。全部是static 全局变量。
这种水平的H4女烙印占据了目前大量的entry-middle的岗位 |
|
m*********y 发帖数: 1735 | 27 看生成的函数的的help啊
可以get(hObject,'Value')得到状态,然后你就知道选的哪个了,可以设置全局变量,
也可以handles.什么然后guidata都给存到handles里面去,然后if else switch 啥的
走就可以了
unit |
|
a*o 发帖数: 25262 | 28 【 以下文字转载自 Joke 讨论区 】
发信人: ssucs (不搞个股了), 信区: Joke
标 题: “姐要是死了给我烧个哥。”——来自一个80后愤怒大龄女青年的(转载)
发信站: BBS 未名空间站 (Thu Oct 14 15:54:44 2010, 美东)
发信人: ruomu (ruomu), 信区: WaterWorld
标 题: “姐要是死了给我烧个哥。”——来自一个80后愤怒大龄女青年的呐喊。朋友在外语学院,男少女多。 她们班极惨——就俩男的..... 更惨的是——那俩男的好上了……
发信站: BBS 未名空间站 (Thu Oct 14 15:16:42 2010, 美东)
喜欢的看完记得要顶,这年头,难得一笑啊!
“姐要是死了给我烧个哥。”——来自一个80后愤怒大龄女青年的呐喊。朋友在外语学
院,男少女多。 她们班极惨——就俩男的..... 更惨的是——那俩男的好上了……
《泰坦尼克号》里莱昂纳多对露西说:If you jump, I jump!《盗梦空间》里莱昂纳
多对梅尔说:If you jump, I will not jump with you! 你... 阅读全帖 |
|
a******e 发帖数: 36306 | 29 做梦更像matrix一点,对梦里人物的认知完全不依靠视觉,就像接受了一条指令告诉你
站在你前面的是谁,做梦的人就像matrix里面当电池那些一辈子从生到死都没睁过眼睛
的人。这时候把人比喻成子程序就比较接近了,至于人做的梦以及梦里的梦不过是子程
序里面的进程嵌套调用,然后全局变量比如耳内前庭都是在matrix的主程序里定义的,
还有一些程序用于防止死循环,比如kick,然后limbo就是一种死循环。梦里遇到的非
目前生活中经历过的人,也许会在以后遇到。。。越说越吓人 |
|
|
r***u 发帖数: 1272 | 31 喜欢的看完记得要顶,这年头,难得一笑啊!
“姐要是死了给我烧个哥。”——来自一个80后愤怒大龄女青年的呐喊。朋友在外语学
院,男少女多。 她们班极惨——就俩男的..... 更惨的是——那俩男的好上了……
《泰坦尼克号》里莱昂纳多对露西说:If you jump, I jump!《盗梦空间》里莱昂纳
多对梅尔说:If you jump, I will not jump with you! 你看,男人成熟后,就不会
再相信爱情了这回事了。(via:@duck_1984)
冷笑话:中国有一个身兼数职,权势熏天的人,你们肯定不知道。这人姓江,叫江大桥
。因为——“南京市长江大桥”、“武汉市长江大桥”、“九江市长江大桥”、“芜湖
市长江大桥”、“铜陵市长江大桥”……(via:@anchorsun)
德国科学家说,一个精子含有75兆遗传信息,一毫升精液约有1亿精子,射精平均5秒、
射液2.25毫升,即每秒发射1.6875TB,这表明女性卵子是世界上最强的防御系统,超过
能抵御每秒0.5千兆DDoS的顶级防火墙,且即使被攻破,也需9个月才影响系统。(via:@
duck_1984)
如果一个人能同时... 阅读全帖 |
|
t***n 发帖数: 546 | 32 其实纵观整个物理学的发展史,都是从宏观到微观,或者到无穷大(宇宙)。宏观吃透
了,再从微观的尺度上找更本质的原因。而医学论吃透宏观还早着呢。跳过宏观直接研
究微观,很可能洋洋得意的以为发现了几百上千个原理,其实宏观上就是一个参数的问
题。人家宏观上还有好多参数还没搞明白正研究着呢。
无限细分想法是好的,但是一定要保证细分下来的东西是独立的,不能互相之间有联系
。写计算机程序叫模块化。要是每个子程序里都共用一大堆全局变量,每个子程序还由
不同的人维护,我看你怎么细分都是bug重重,最终崩溃。
其实遇到复杂的事物除了细分化以外,还可以抽象化。这正式中医走的路。 |
|
s***s 发帖数: 4329 | 33 【 以下文字转载自 WaterWorld 讨论区 】
发信人: ruomu (ruomu), 信区: WaterWorld
标 题: “姐要是死了给我烧个哥。”——来自一个80后愤怒大龄女青年的呐喊。朋友在外语学院,男少女多。 她们班极惨——就俩男的..... 更惨的是——那俩男的好上了……
发信站: BBS 未名空间站 (Thu Oct 14 15:16:42 2010, 美东)
喜欢的看完记得要顶,这年头,难得一笑啊!
“姐要是死了给我烧个哥。”——来自一个80后愤怒大龄女青年的呐喊。朋友在外语学
院,男少女多。 她们班极惨——就俩男的..... 更惨的是——那俩男的好上了……
《泰坦尼克号》里莱昂纳多对露西说:If you jump, I jump!《盗梦空间》里莱昂纳
多对梅尔说:If you jump, I will not jump with you! 你看,男人成熟后,就不会
再相信爱情了这回事了。(via:@duck_1984)
冷笑话:中国有一个身兼数职,权势熏天的人,你们肯定不知道。这人姓江,叫江大桥
。因为——“南京市长江大桥”、“武汉市长江大桥”、“九江市长江... 阅读全帖 |
|
|
q**1 发帖数: 193 | 35
(-)
你的网站资料还挺全啊:多谢。。-)另外你这个 Price 例如 $5.95
是月费吧?
其实我主要是需要在server侧安装一些Perl Modules(不是Perl标准
配置的),不知道怎么能够知道这些server的这些信息。。另外
我用的mod_perl和一般的perl CGI不太一样,可能需要一些资源
常驻内存,例如如果我定义了database handler为全局变量,很可能
和别的在同一共享空间的人定义的有冲突甚至造成安全问题。:(
我估计用 PHP 做网没有这么多问题。:) |
|
l*****s 发帖数: 125 | 36 不行。
void glutDisplayFunc(void (*func)(void));
是该函数的定义,没法带别的参数了。
定义全局变量吧。 |
|
l*****s 发帖数: 125 | 37 不行。
void glutDisplayFunc(void (*func)(void));
是该函数的定义,没法带别的参数了。
定义全局变量吧。 |
|
v******d 发帖数: 1322 | 38 建议先耐心读一下经典的c编程书, 你对header文件用途的理解基本全部错误,
header一般是用来声明函数(或全局变量等), 这样可以调用别的c文件或者库里面的函数
其
题。 |
|
s*******s 发帖数: 1031 | 39 不懂你在说什么。
不过一般全局变量都是定义在.c file中,
然后在.h file中extern出来吧。
参数列表最好用struct做成package.
一个函数带100个参数太恶心了. |
|
s*x 发帖数: 3328 | 40 你把x定义成外部全局变量,然后修改f2或者做一个壳把f2装起来,然后用f2或者壳作
为参数调用A。你这么直接用会有问题,参数数目不对,最后编译后的结果行为是不确
定的。 |
|
|
c*******a 发帖数: 29 | 42 class q {
double[] a;
void test() {
a[1]=5.0;
}
}
这个 a是不是有点象全局变量啊?
这样就可以改变a的值了吧,不用加什么this.a[1]
还是最后用传递数组的方式(好像没有指针吧)
写什么
void test(double k) {
k=5.0;
}
究竟是值传递还是地址传递啊?
数组呢?多维数组?
class呢? |
|
d********r 发帖数: 199 | 43 remove logging messages
绝对不是一个好习惯。
log4j做得就已经很好了。
如果更进一步的话可以设一个全局变量:debug
在每一个需要写log的地方:
if (debug)
logger.debug(.........)
这样就足够好了。
think |
|
c*****s 发帖数: 214 | 44 有很大的区别。
没错,log4j确实会先判断级别再决定是不是真的写日志。但从性能上,这时候已经太晚
了。很多时间被花在了准备写入的字符串和级别检查上。
如果考虑性能,对那些频繁写的,级别又不高的日志if语句无法避免。
在我做过的项目里,最终都是像熊博士说的配置一个final的静态全局变量,然后写很多i
f。
important. |
|
a****9 发帖数: 418 | 45 比如bash里面,可以TERM=screen screen来调用screen并把TERM设置为screen传递给
screen
但是从screen反回后TERM依然是全局设置
请问tcsh里可以作同样的事情么?我google了一会没找到。 |
|
|
|