由买买提看人间百态

topics

全部话题 - 话题: 子函数
1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
q*******i
发帖数: 353
1
【 以下文字转载自 CS 讨论区 】
发信人: qqwuweiyi (娓娓), 信区: CS
标 题: 在子函数内开内存,返回主函数指针然后释放空间是不是很糟糕的设计?
发信站: BBS 未名空间站 (Mon Mar 21 23:19:53 2011, 美东)
比如子函数(void)内用主函数通过参数传过来得指针malloc了空间,然后做
了一些操作之后,返回主函数,在主函数里面再free这个空间。这样做理论上应
该没问题,但是是不是风险很大?是很糟糕的设计?比较好的方法是什么呢?
(用指针的指针传递?)
q*******i
发帖数: 353
2
【 以下文字转载自 CS 讨论区 】
发信人: qqwuweiyi (娓娓), 信区: CS
标 题: 在子函数内开内存,返回主函数指针然后释放空间是不是很糟糕的设计?
发信站: BBS 未名空间站 (Mon Mar 21 23:19:53 2011, 美东)
比如子函数(void)内用主函数通过参数传过来得指针malloc了空间,然后做
了一些操作之后,返回主函数,在主函数里面再free这个空间。这样做理论上应
该没问题,但是是不是风险很大?是很糟糕的设计?比较好的方法是什么呢?
(用指针的指针传递?)
H***a
发帖数: 735
3
According to LZ "子函数(void)内用主函数通过参数传过来得指针malloc了空间,
然后做了一些操作之后,返回主函数,
在主函数里面再free这个空间", there I just created a critical example.
Caller - main function - might not need to use the array at all since all
the operations can be done in
subroutine. In this case, it's unfair to let main function free the resource.
That's just my 2 cents.
w***n
发帖数: 1084
4
那你不能分配好空间再传给子函数让它操作吗?为啥一定要让子函数分配空间。
m****s
发帖数: 1481
5
我需要读取一个数据文件,然后把读出来的数据放到不同的变量里,因为这些变量的长
度不确定,所以都是临时根据长度分配内存,code如下:
... main(){
...
...
int *a,length_a;
double *d,length_d;
char *c,length_c;
FILE *fp;
... 打开文件代码...
...读文件,获取变量a,d,c的长度...
a= new int[length_a];
d= new double[length_d];
c= new char[length_c];
...计算,处理...
delete[] a;
delete[] d;
delete[] c;
}
这种最基本的方法运行没问题。
现在因为我要load的变量很多,所以我想把loading用一个函数来做。如果只有一个变
量,我可以把它的pointer定义在main里面,然后用一个函数读取文件,在函数里
declare一个临时pointer,分配内存,赋值,然后返回这个pointer。
但是如果多个变量的情况怎么做呢?
我先试了把多个变量的指针传递给子函数,在子函数里declare... 阅读全帖
m****s
发帖数: 1481
6
谢谢,我刚才搜索了半天,看到stackoverflow有人问类似的问题,确实是应该用引用
。因为c++子函数传进来的变量是copy,所以进来的pointer是主函数那个pointer的
local copy,如果主函数没有初始化,子函数分配的内存并没有赋值给主函数的
pointer,一个解决办法是子函数用int **a,主函数把没有分配内存的pointer的地址
传进去,也就是call的时候用&a。另一个办法就是你说的用int * &a,pass by reference。
q*******i
发帖数: 353
7
比如子函数(void)内用主函数通过参数传过来得指针malloc了空间,然后做
了一些操作之后,返回主函数,在主函数里面再free这个空间。这样做理论上应
该没问题,但是是不是风险很大?是很糟糕的设计?比较好的方法是什么呢?
(用指针的指针传递?)
a**********k
发帖数: 1953
8
子彬院里的故事
作者 华宣积 李道亭
复旦大学数学系和数学研究所发展而成的复旦大学数学科学学院(简称数学学院),在
2005年1月成立,设有数学系、应用数学系、金融数学与控制科学系、信息与计算科学
系、概率统计与精算系和数学研究所。2007年,复旦数学学科成为国家一级重点学科。
在2002、2007和2012三次全国一级学科整体水平评估中综合排名均名列第二。从学术界
通用的ESI指标看,复旦数学属于全球前100名学科。
我们这些上世纪50年代的学生,60年代起的教师,在数学系(所)工作到退休的人
,心中一直牵挂着复旦数学,看到如今数学学院的稳步发展,非常兴奋同时燃起更大的
希望,也夹带着无限的追忆。数学学院在2005年迁址复旦大学光华楼东主楼,教师的工
作条件有了很大改善,但我们脑海中常常浮现曾经工作过的地方—--子彬院。复旦大学
子彬院位于邯郸校区的西北隅,又称600号。它是一幢1925年落成的欧式建筑。上世纪50
年代至2005年,复旦大学数学系就设在那里。它与近旁的相辉堂(1946年建的大礼堂)
、仙舟馆(1... 阅读全帖
q*d
发帖数: 22178
9
【 以下文字转载自 Physics 讨论区 】
发信人: qed (小白兔终于熬成了大灰狼), 信区: Physics
标 题: 层子模型前后-关于声称以马克思主义哲学指导物理学研究的案例br />
发信站: BBS 未名空间站 (Fri Sep 19 13:53:58 2014, 美东)
层子模型前后-关于声称以马 克 思主义哲学指导物理学研究的案例分析
关 洪
(中山大学物理系,广州 510275)
摘要:本文回顾了从20世纪50年代初期开始,在我国对“物理学中的唯心主义”进
行的多次批判运动。特别是依据“百花齐放”的方针,对层子模型前后声称以马克思主
义指导基本粒子理论研究,并指责同行物理学家为“唯心主义”的一些正式发表的言论
进行了案例分析。
关键词:马克思主义哲学 唯心主义 双百方针 层子模型
[作者简介] 关洪(1935-),男,中山大学物理系教授,主要研究理论物理,物
理学史和科学哲学。
一 我国对“物理学中的唯心主义”批判的启动和推进
中国科学院主办的刊物《科学通报》继在1951年6月号登载了从苏联《哲学问题》
翻译过来的《反对数理逻辑中的唯心主义》的文章之后[1],... 阅读全帖
q*d
发帖数: 22178
10
层子模型前后-关于声称以马 克 思主义哲学指导物理学研究的案例分析
关 洪
(中山大学物理系,广州 510275)
摘要:本文回顾了从20世纪50年代初期开始,在我国对“物理学中的唯心主义”进
行的多次批判运动。特别是依据“百花齐放”的方针,对层子模型前后声称以马克思主
义指导基本粒子理论研究,并指责同行物理学家为“唯心主义”的一些正式发表的言论
进行了案例分析。
关键词:马克思主义哲学 唯心主义 双百方针 层子模型
[作者简介] 关洪(1935-),男,中山大学物理系教授,主要研究理论物理,物
理学史和科学哲学。
一 我国对“物理学中的唯心主义”批判的启动和推进
中国科学院主办的刊物《科学通报》继在1951年6月号登载了从苏联《哲学问题》
翻译过来的《反对数理逻辑中的唯心主义》的文章之后[1],又在1952年8月号登载从苏
联翻译过来的关于量子力学哲学问题的几篇文章[2]。例如,哲学家奥密里扬诺夫斯基
1951年在《哲学问题》上发表的《反对量子力学中的唯心主义》里宣称,作为“一切科
学之基础的马克思列宁主义,……在物理学部门里,也同样是行动的指南。”此外还有
物理学家布洛欣采夫195... 阅读全帖

发帖数: 1
11
左起:查济民女儿,周光召,刘璧如,王小云,杨振宁,姚期智
来源 | 《数学文化》2019第10卷第2期
访问整理 | 王涛、王坤
昨天 (9月7日),2019年“未来科学大奖”数学与计算机科学奖宣布授予密码学
家王小云,奖励她在密码学领域的开创性贡献。王小云创造了一种毁灭性的密码分析方
法,破解了一个又一个国际通用的算法。那么,她的数学和密码人生是怎样展开的呢?
王小云,1966年出生于山东诸城,1981年进入诸城一中学习,1983年起就读于山东
大学数学系,先后获得学士、硕士、博士学位,师从潘承洞院士;1993年毕业后留校任
教,历任讲师、副教授、教授;2005年6月受聘为清华大学高等研究院“杨振宁讲座教
授”。现为第十三届全国人大代表、中国科协女科技工作者专门委员会委员、中国密码
学会副理事长、中国数学会常务理事。
王小云的主要研究领域为密码学。在密码分析领域,她系统给出了包括 MD5, SHA
-1 在内的系列 Hash 函数算法的碰撞攻击理论,提出了对多个重要 MAC 算法 ALPHA-
MAC、MD5-MAC 和 PELICAN 等的子密钥恢复攻击,以及 HMAC-MD5 的... 阅读全帖
c******a
发帖数: 45
12
我想在程序中创建一个子进程,子进程中执行一个函数,请问该如何实现?谢谢!!!
是不是先用fork函数创建一个子进程,再用exec函数使得子进程执行相应的函数?请问具
体的格式怎样,譬如相应的函数名为test()。
r****n
发帖数: 8253
13
来自主题: Wisdom版 - 谁坍缩了波函数?zt
节选自高山的《量子》一书
谁坍缩了波函数?
在1927年的第五届索尔维会议上,波函数坍缩问题首次被量子力学的创立者们
所关注。狄拉克认为,波函数坍缩是自然随意选择的结果,他说,“自然将随意选择它
喜欢的一个分支,因为量子力学理论给出的唯一信息只是选择任一分支的几率。”而海
森伯则认为它是观察者选择的结果,“因为直到做出了观察的那一时刻,选择才成为一
种物理实在。”玻尔似乎同意狄拉克的观点,他后来(1931)强调,“我们必须在很大
程度上使用统计方法并谈论自然在一些可能性中间进行选择。”
那么,究竟是谁坍缩了神秘的波函数呢?
求助意识
1929年,达尔文①给出了一个惊人的答案:意识导致波函数坍缩!之后,这一
意识坍缩猜想又为冯诺依曼,伦敦和鲍厄,以及维格纳等人进一步研究。
1932年,冯诺依曼写了一本著名的量子力学教科书《量子力学的数学基础》。
在这本书中,冯诺依曼将量子力学置于严格的数学基础之上,并且第一次清晰地提出了
波函数的两类演化过程:第一类过程为瞬时的、非连续的波函数坍缩过程,第二类过程
为波函数的连续演化过程,遵循薛定谔方程。同时,冯诺依曼也讨论了导致波函数坍缩
的可能原因,... 阅读全帖
l**********n
发帖数: 72
14
来自主题: Science版 - Re: 格林函数Green's Function
格林函数是在一定的边界条件下,时空中一个点源对时空中另一个
场点的影响,其具体的影响形式由其作用的形式决定。这也就是为
什么格林函数又叫作影响函数或传播函数的原因。
例如,在波动方程中可以将时空中某个区域的源项分解。同时应该
注意到格林函数在不同的坐标系和边界条件下是不同的。
以静电问题为例,在球坐标系中,在齐次边界为无限远的情况下,
格林函数就是单电荷的库仑场,在有界的球边界条件下,相应的
格林函数将由于像电荷的存在而变得复杂。
格林函数可以用正交函数系进行展开,有利于看清楚其谱分布是如
何的,而且便于计算。
在场论中,格林函数又被称为传播子。并由于微扰而变得更加复杂。
在统计物理中,为描述元激发的粒子属性,也用到格林函数。
不过格林函数已经称为非常成熟的理论了吧,有卷帙浩繁,汗牛冲栋
的书籍讲述。而且,我总觉得不够具体生动,指标太多了。有哪位介
绍一下经验哟? 例如统计物理中电导率的计算。
Lake
s*********e
发帖数: 197
15
来自主题: JobHunting版 - 菜鸟追leetcode之一[text justification]
为了积攒人品RP,为了H1B顺利,为了有更好的工作,为了有一个更好的将来,开始追
leetcode,并写下自己的做题感受和大家分享,更是作为自己的督促。做题目的原则如
下:
1) Optimized Algorithms to pass the "large" test.
2) Proper abstraction
3) Write the code whose correctness is *easy* to reason about.
4) Favor readability over efficiency without compromising item 1).
5) Rearrangement and tweaking
我试图对自己进行训练的目标就是写完代码,能够确认自己写对了。目前为止,我有一
些小小的心得,会贯穿在下面和以后的文章中。第一,循环不变式;第二,优化控制流
;第三,适度抽象,语义精确的子函数。
抛砖引玉,献上第一弹:Text Justification. 为了更好的可读性,想用一种类C的伪
代码并尽量省略一些类型声明。很多叙述可能比较罗嗦,见谅。
首先要考虑的... 阅读全帖
H********e
发帖数: 130
16
来自主题: JobHunting版 - 请教leetcode Subsets II
我也贴一个我做的,大数据测试60ms
我的写了一个子函数,可以生成 大小为m的 subset,subset不会因为duplicate
element重复,然后主函数循环调用子函数
class Solution {
public:
vector > subsetsWithDup(vector &S) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
vector > subsets;
if(S.size()==0)
return subsets;
sort(S.begin(),S.end());
int len=S.size();
int * a=new int[len];

for(int i=0;i a[... 阅读全帖
g**********t
发帖数: 475
17
【 以下文字转载自 Programming 讨论区 】
发信人: geneticdrift (不懂微积分), 信区: Programming
标 题: 求助,如何才能将一个c++对象封装成一个函数指针。
发信站: BBS 未名空间站 (Wed Oct 31 22:30:16 2012, 美东)
我有一个似然函数,是用面向对象的方式写的。现在我想用一个别人用c语言写的子程
序来对我的函数进行优化。由于这个子程序是用c写的,只能接受一个函数指针作为参
数。由于这个子程序比较复杂,不想对其做太多改动。请问如何能把我的类对象封装成
函数指针? 用functor吗?
p*******n
发帖数: 273
18
来自主题: Programming版 - 问一个C语言的NAN 的问题
用函数isnan()来判断子函数的返回值是不是NAN.
我在子函数里include , return NAN. 编译的时候就会报错. 请问还要其他的
头文件么?
g**********t
发帖数: 475
19
我有一个似然函数,是用面向对象的方式写的。现在我想用一个别人用c语言写的子程
序来对我的函数进行优化。由于这个子程序是用c写的,只能接受一个函数指针作为参
数。由于这个子程序比较复杂,不想对其做太多改动。请问如何能把我的类对象封装成
函数指针? 用functor吗?
g**********t
发帖数: 475
20
我有一个似然函数,是用面向对象的方式写的。现在我想用一个别人用c语言写的子程
序来对我的函数进行优化。由于这个子程序是用c写的,只能接受一个函数指针作为参
数。由于这个子程序比较复杂,不想对其做太多改动。请问如何能把我的类对象封装成
函数指针? 用functor吗?
s******e
发帖数: 2181
21
基本道理清楚,数组作为参数传递给函数的只是数组首元素的地址,函数在需要用到后
面元素时再按照这个地址和数组下标去查找。同时,数组名又正好是数组首元素的地址
,所以在主函数里调用子函数时只需写数组名,那么首元素的地址就传出去了。
我的问题来了,如下例,被调用的函数multiply的形参部分,float *p说明p是一个地
址,这个地址就是传过来的数组首元素的地址。既然p只是地址,那后面的操作
p[0]=2*p[0]
p[1]=2*p[1]
p[2]=2*p[2]
...
不是在把地址乘以2吗,怎么就变成把地址里面的内容乘以2了?用*p[...]来操作是不
是更符合情理?而且p既然是一个地址,怎么就可以写成p[...]了呢,这不变成地址数
组了吗?
虽然实际当中都在这样写,但心中的困惑一直都在。我不是专业马工,求专业马工解惑
并轻拍。
main()
{
float num[]={2.0,3.1,8.6,4.1,7.9};
const int size=sizeof(num)/sizeof(int);
multiply(num,size);
...
}
voi... 阅读全帖
t****a
发帖数: 1212
22
来自主题: JobHunting版 - Solve sudoku in parallel
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... 阅读全帖
a********9
发帖数: 129
23
来自主题: JobHunting版 - google, vmware 面经
google面的是SRE
电面是国人大哥,一些c语言的pointer问题,然后一道leetcode原题
onsite1:
1)combination,还是没dupliate的,要把结果保存起来,我说用linked list,因为是
用c写,还要自己implement linkedlist, 略坑爹
2) 就是很简单的统计两个string分别有多少个单独的letter
onsite2:
bst inorder iterator
onsite3:
一个文件,每行是rack_name + machine id,输出每个rack有多少个machine,按大小排
序,我是先扫一遍存hashtable,再存进linkedlist再sort,这回没让我实现hashtable
跟linkedlist了,不过要我把用过的api单独再declear一下,最后再写个mergesort
onsite4:
有很多个machine,要求检测哪些die了,要求parallel,就写了一个for loop创建若干
个thread来执行任务,有点thread pool的感觉,用一个array来表示哪个machine被检... 阅读全帖
n****g
发帖数: 58
24
来自主题: Programming版 - 关于构造函数的一道测试题 (转载)
class Bar: Foo {
public:
Bar():Foo(5){} // 先构造Foo的对象,编译器找不到没有参数的构造函数。在子
类的构造函数后面加上父类带参数的构造函数就行了
};
Bar objBar;
P*****i
发帖数: 63
25
来自主题: Statistics版 - 与Macro相关的字符函数
今天又想了下,结果取决于函数执行的时序。
一步步细分来看:
%let b=%nrstr(&a);
对于%upcase(&b)的执行时序:
1. 因为&b含有macro trigger,所以先解析到&a
2. 这里谁先谁后很重要,在input stack里接下来一步如果是%upcase接管,
那么%upcase执行后结果变成了&A
3. 下一步,因为upcase已经执行过了,针对&A, word scanner不会再重复执行一遍转换大写的操作,结果只由macro trigger再行解析到begin, 这时候解析&a和&A没区别,都指向begin.
这样解释的关键是在时序上要按照先解析第一步, 然后马上执行upcase操作,之后再解析upcase执行完之后的结果三步来才说的通.
换成QUPCASE执行.
在第二步里同样是换成了&A, 但是因为mask掉了&,结果停留在&A不再做进一步解析.
同样道理来看:
%let a=one;
%let b=two;
%let c=%nrstr(&a &b);
310 The %INDEX Function Chapter 9
%put C: &c
%... 阅读全帖
c**********e
发帖数: 2007
26
来自主题: JobHunting版 - amazon 2nd phone interview
Quick Selection:
选target个最小的。最终目的是,使a[0], …, a[target-1]为最小的。因为是递归调用子函数,子函数对数组的一部分a[low], …, a[high]操作。
#include
using namespace std;
#define swap(x,y) { int z=x; x=y; y=z; }
int low_n(int a[], int low, int high, int target) {
int pivot; int mid=(low+high)/2;
if(a[low]<=a[mid])
{
if(a[high]<=a[low]) pivot=a[low];
else if(a[high]<=a[mid]) pivot=a[high];
else pivot=a[mid];
} else
{
if(a[high]<=a[mid]) pivot=a[mid];
else if(a[high]<=a[low]) pivot=a[high];
... 阅读全帖
r****m
发帖数: 70
27
来自主题: JobHunting版 - LGTF面经和总结
9月份的面试,连续四天面了LGTF,准备面试的半年多时间来从本版受益匪浅,现在把
面经写出来回馈本版,希望大家把好的传统延续下去。
L偏重设计,也可能与面的组是platform有关,6个面试有三个是设计,而且涉及很多细
节,比如index,distribute hash, circule counting. 有一面是manager问项目,个
人觉得选一个自己从头到尾做过的项目,然后按我下面的6点进行准备,基本就够了。
L是有题库的,建议多刷版面和glassdoor。
G偏重coding,每一面都是coding开始,而且占很大比例,如果时间多的话可能有两个
coding,也有可能接一个design问题。
T的面试最没规律,感觉基本是面试官自己决定问什么,所以这里不怎么好做总结。
F的面试是最标准化的,两个半coding + 一个design + 半个项目介绍 (项目介绍同上
面L的), F的题目重现率比较高,看版上的题目就差不多了,design问题基本在之前版
上归纳的几个类别: 设计feed,message, search,存储,都和大数据沾边。
LFT面试官大部分是同胞,大部分同胞是... 阅读全帖
f*****t
发帖数: 13
28
来自主题: JobHunting版 - LGTF面经和总结
楼主客否回答如下两个问题:
Coding
1. 问问题,理解题意,弄清楚输入、输出、流程,磨刀不误砍柴工
2. 多想几种解法(从brutal force开始),简单例子,test case,画图 5到10分钟
3. 与面试官交流想法 2分钟
4. Pseudo code 在草稿纸上 , 分成子函数,模块化,将复杂问题交给子函数
5. Real code 在答题板上 10到20分钟
6. Verify, 检查错误,特殊条件,边界条件 5分钟
一个面试官做一道做好好呢,还是做尽量多的题好呢?
Longest increasing sub-array? O(n), better than O(n)
怎么better than O(n).

r****m
发帖数: 70
29
来自主题: JobHunting版 - LGTF面经和总结
9月份的面试,连续四天面了LGTF,准备面试的半年多时间来从本版受益匪浅,现在把
面经写出来回馈本版,希望大家把好的传统延续下去。
L偏重设计,也可能与面的组是platform有关,6个面试有三个是设计,而且涉及很多细
节,比如index,distribute hash, circule counting. 有一面是manager问项目,个
人觉得选一个自己从头到尾做过的项目,然后按我下面的6点进行准备,基本就够了。
L是有题库的,建议多刷版面和glassdoor。
G偏重coding,每一面都是coding开始,而且占很大比例,如果时间多的话可能有两个
coding,也有可能接一个design问题。
T的面试最没规律,感觉基本是面试官自己决定问什么,所以这里不怎么好做总结。
F的面试是最标准化的,两个半coding + 一个design + 半个项目介绍 (项目介绍同上
面L的), F的题目重现率比较高,看版上的题目就差不多了,design问题基本在之前版
上归纳的几个类别: 设计feed,message, search,存储,都和大数据沾边。
LFT面试官大部分是同胞,大部分同胞是... 阅读全帖
f*****t
发帖数: 13
30
来自主题: JobHunting版 - LGTF面经和总结
楼主客否回答如下两个问题:
Coding
1. 问问题,理解题意,弄清楚输入、输出、流程,磨刀不误砍柴工
2. 多想几种解法(从brutal force开始),简单例子,test case,画图 5到10分钟
3. 与面试官交流想法 2分钟
4. Pseudo code 在草稿纸上 , 分成子函数,模块化,将复杂问题交给子函数
5. Real code 在答题板上 10到20分钟
6. Verify, 检查错误,特殊条件,边界条件 5分钟
一个面试官做一道做好好呢,还是做尽量多的题好呢?
Longest increasing sub-array? O(n), better than O(n)
怎么better than O(n).

m******e
发帖数: 82
31
来自主题: JobHunting版 - Houzz店面
可以写一个isValidNum()的子函数,之后再转为数字。
子函数可以用自动机实现
c*****m
发帖数: 1160
32
来自主题: Programming版 - 问一下:怎么算复杂度?
比如说,一段程序,没有调用子函数,有一个循环 for i=1 to 1000,那么复杂度应该
是 O(1)啰;
如果循环是 for i=1 to n, 那么复杂度应该是 O(n)?
现在问题是:在这个循环里(没有子函数)用了一个dict , python里的词典:
for i=1 to n
value=d[key]
这个dict的查询, 不是数组的直接access,应该最快也是sort算法的 O(nlgn)吧? 那
么这段程序是否成了 O(n*nlgn)?
l*****s
发帖数: 774
33
来自主题: Computation版 - 再问个Fortran得问题
subroutine和子函数function有什么区别?
感觉subroutine比子函数function用起来方便不少?
是不是这样得?
j**u
发帖数: 6059
34
来自主题: Computation版 - [合集] 有关fortran返回数组的问题!
☆─────────────────────────────────────☆
lzmaths (飞刀) 于 (Sat Mar 17 11:14:24 2007) 提到:
我想用子函数,但是子函数返回是 数组,要用Interface,
但是我写的程序老有错误,不知道能不能指点一下,很简单的一个程序,是求单位矩阵
的子程序。
谢谢!
program test
implicit none
interface
function eye(n)
implicit none
integer :: n
real :: eye(n,n)
end function
end interface
integer, parameter :: n=5
real :: A(n,n)
A=eye(n)
write(*,*) A
end
real function eye(n)
implicit none
integer :: n
real :: B(n,n)
integer :: i
B=0
forall(i=1:n) B(i,i)=1
eye=B
return
end
错误是:Err
w****x
发帖数: 2483
35
来自主题: JobHunting版 - 现在出发去F onsite

first
我面完的时候都想撞墙了, 两个"大"bug, 一个bug甚至掉了一段逻辑, 不过意外的一周
后通知positive要reference, 其实就算FB要了我的reference我也不指望能过, 所以他
们要我reference后我也不觉得高兴, 只是有点意外.
还有一个意外是第一题的问到他们工作中的一个问题, pre-processing要建立trie, 可
能你们觉得简单, 但是实际上临场的环境下一个是紧张, 一个是你要一边写一边和面试
官讨论, 还有就是要写多个wraper函数, 这样每个函数都要考虑signature, 时间是很
不够的. 我pre-processing写了一半面试官说不要写了, 赶快完成核心的子函数. 但是
感觉就是挂了...
w*******2
发帖数: 8
36
尾递归和普通递归的区别就是其栈的空间大小是不随着函数的调用而增长的,所以不会
有stack overflow的问题,通过将所需信息直接通过参数传进调用的子函数,这样的过
程很迭代其实没什么区别,对于一些语言,编译器就直接会把尾递归转化成迭代.
对于简单的递归转化成尾递归,可以通过传递参数的方法来保存之前的状态,但是对于
一些多次调用递归,简单的增加传入参数就不行了,可以使用continuation-passing
style(CPS)来实现,此方法仅适用在函数式编程
就执行效率来说,memorization并不迭代差(不考虑空间复杂度的话)
w*******2
发帖数: 8
37
尾递归和普通递归的区别就是其栈的空间大小是不随着函数的调用而增长的,所以不会
有stack overflow的问题,通过将所需信息直接通过参数传进调用的子函数,这样的过
程很迭代其实没什么区别,对于一些语言,编译器就直接会把尾递归转化成迭代.
对于简单的递归转化成尾递归,可以通过传递参数的方法来保存之前的状态,但是对于
一些多次调用递归,简单的增加传入参数就不行了,可以使用continuation-passing
style(CPS)来实现,此方法仅适用在函数式编程
就执行效率来说,memorization并不迭代差(不考虑空间复杂度的话)
s*****w
发帖数: 1527
38
如果真有轮回,那么灵魂等也是唯物的一部分,意识好比粒子,也是物质。
人的一生一世是子函数,来世就是另一个函数,假如variable没清干净带下一个函数
去了,那就是上辈子的记忆。

物。
b****d
发帖数: 1311
39
如果车站是个封闭空间,不是你死就是我亡,赤手空拳的100人也会把这10个带刀的制
服。可以参考挺身而出对付劫机犯的乘客。人群在那时候四处逃跑,是在危险时追求短
期的趋利避害函数最大化。就算当时上百人有英雄主义思想,如果没有沟通和组织,面
对有组织的10个人,利害函数也是严重失衡的。

发帖数: 1
40
是新的函数被带入了产生计算结果让你觉得膨胀了。你观察宇宙总是要发射接受基本粒
子的。这时候就是开始计算新的结果了。

:逻辑上的漏洞是由东西到边界才膨胀,这样只有最开始的光子不衰竭,才能一直不停
的推动膨胀
f***n
发帖数: 117
41
来自主题: JobHunting版 - 一个facebook面试题
朋友面的,第二轮tech。
如何判断一个system stack的direction?
似乎在main里面定义一个变量a然后call一个子函数,在子函数里再定义一个变量b然后
比较a和b的地址是可以的。
或者用new定义两个变量比较大小然后断定stack和heap相反。
可不可以这样:在main里面直接定义两个变量a b然后比较地址大小?
这里似乎可以设计很多东西,比如compiler的优化之类,有没这方面比较专业的同学系
统讲讲
g*********s
发帖数: 1782
42
yes, bad practice.
who allocate, who deallocate.
e***l
发帖数: 710
43
C里面内存管理本来就很危险,这个为什么糟糕呢
j**w
发帖数: 382
44

What's wrong for that?
If I understand correctly, strdup does something like that, except it
returns the address of new allocated memory and it's caller job to free it
later.
l****i
发帖数: 230
45
来自主题: JobHunting版 - G家onsite面经
这周周二的onsite,一共五轮面试。安排比较混乱,其中一个interviewer,我干等了
半个小时,no show。联系HR,才知道这个interviewer已经休假5个月。所以后来又加
了一个interviewer。
感觉google的面试根本不考虑candidate的背景和经历,只考coding。我有朋友做到了
CS Top-4的正教授,去google面试仍然是一样的流程。这个确实让人非常frustrated。
1. Thesis discussion:老印,data base出身,鸡同鸭讲,面得很费劲,互相感觉都
不是很好。
2. 老中,coding:给一个N个node的BST,给一个Key,返回与key最接近的m个node(m ).
我开始说可以做inorder traverse,用一个priority queue保存跟key最近的m个value
,复杂度O(n);存在average O(log n)的算法,但不好写。结果还是被要求写O(log n)
的code。
这个算法不是很难(不确定是不是最优),但是在30分钟写出来确实不容易。
我的基本思路还是用priority... 阅读全帖
p*****2
发帖数: 21240
46
来自主题: JobHunting版 - 问一道面试题目

循环就不是尾递归了。我是看有个帖子不知道DP怎么转换成尾递归,所以我写写的。主
要是为了尾递归。数组应该没问题,你把它看成一个大functional就可以了。里边的子
函数可以访问大函数的变量。这个没问题,不改变就可以了。
c*******y
发帖数: 98
47
来自主题: JobHunting版 - T面经一题
+ - 扩展成 + - * /, 再扩展成 带()的,我觉得直到+ - * /好像还好对付一点,
maintain一个系数list,然后iterative的弄掉符号
1 - 4行先做* / 再做 + -
2*x/3*5+x*3/5+4 = 2+x*3+0 [0][0] [0][0]
2x/3*5+3x/5+4 = 2+3x+0 [0][0] [0][0]
1.5x+0.6x+4 = 2+3x+0 [0][0] [0][0]
2.1x+4 = 2+3x+0 [2.1][4] [0][0] 直到某边只有x项和常数项,加入
list
这一步整理x到前边,常数到后边
2.1x+4 = 3x+2+0 [2.1][4] [0][0]
重复1 - 4的步骤(函数)
2.1x+4 = 3x+2 [2.1][4] [3][2] 直到某边只有x项和常数项,加入
list
最后算x,如果输入合理,应该能算出来。当然最好验证一下/0之类的case。
x = (v2[1]-v1[1])/(v1[0... 阅读全帖
c*******y
发帖数: 98
48
来自主题: JobHunting版 - T面经一题
+ - 扩展成 + - * /, 再扩展成 带()的,我觉得直到+ - * /好像还好对付一点,
maintain一个系数list,然后iterative的弄掉符号
1 - 4行先做* / 再做 + -
2*x/3*5+x*3/5+4 = 2+x*3+0 [0][0] [0][0]
2x/3*5+3x/5+4 = 2+3x+0 [0][0] [0][0]
1.5x+0.6x+4 = 2+3x+0 [0][0] [0][0]
2.1x+4 = 2+3x+0 [2.1][4] [0][0] 直到某边只有x项和常数项,加入
list
这一步整理x到前边,常数到后边
2.1x+4 = 3x+2+0 [2.1][4] [0][0]
重复1 - 4的步骤(函数)
2.1x+4 = 3x+2 [2.1][4] [3][2] 直到某边只有x项和常数项,加入
list
最后算x,如果输入合理,应该能算出来。当然最好验证一下/0之类的case。
x = (v2[1]-v1[1])/(v1[0... 阅读全帖
a*****e
发帖数: 92
49
【 以下文字转载自 Programming 讨论区 】
发信人: aaapple (青青子衿), 信区: Programming
标 题: 请教:.NET Framework 1.1有没有支持数据压缩的函数?
发信站: BBS 未名空间站 (Mon Aug 7 23:28:18 2006)
现在一个project,需要进行数据压缩。我知道2.0里边有System.IO.Compression
惺菅顾酢G胛剩現ramework 1.1 里边有没有方便的实现数据压缩的方法?谢谢指教
k*z
发帖数: 4704
50
来自主题: Database版 - sql语言求解
--table设计的有问题,首先应该给员工分配ID,防止重名,其次给时间加timestamp防止一天多次评级。再有就是
--初学者,练习练习,还能优化么? 应该不用分析函数,子函数也没必要。
drop table stock;
create table stock (
stock_ticket varchar2(5) ,
analyst_name varchar2(25),
rating_date date,
rating_name varchar2(10)
)
;
insert into stock values ('F','Tim','1-Dec-2010','Sell');
insert into stock values ('F','Tim','1-May-2009','Sell');
insert into stock values ('G','Abramson','6-Sep-2009','Hold');
insert into stock values ('G','Abramson','1-Oct-2010','Sell');
insert into stock valu... 阅读全帖
1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)