b***y 发帖数: 2799 | 1 For a position in Human resource department. They are developing a system to
track job interviewees for Bloomberg. A year ago ...
1. If you insert a key into a STL set and the key is already in the set,
what will happen?
2. Merge two unsorted array. Each array has unique values, but there are
dupliates between two arrays. Remove the duplicates and merge them. Time
complexity must be better than O(nlogn). You shouldn't use hash table.
3. Write a program to calculate average of an array of integer... 阅读全帖 |
|
t****a 发帖数: 1212 | 2 这几天正在琢磨clojure的尾递归优化,就顺手写了一个
(defn linked-list-add [v1 v2]
(letfn [(add-sub [i1 i2 d current]
(if (and (zero? i1) (zero? i2))
current
(let [a1 (get v1 (dec i1))
a2 (get v2 (dec i2))
s (+ a1 a2 d)
b (if (<= s 9)
s
(- s 10))
c (if (<= s 9)
0
1)]
... 阅读全帖 |
|
d**********x 发帖数: 4083 | 3
it doesn't matter if you know what's exactly going on.
or, if you know there wouldn't be efficiency issue, use std::string
vector.
doesn't matter
vec[i] |
|
t****a 发帖数: 1212 | 4 能帮我看看结果对不对好么?不好意思,我还是用clojure写的
(use 'clojure.set)
;; main function: O(n^3) time O(n^2) space
(defn best-cut [branch-string]
(do
(defn parse-branch [branch]
(vec (map #(- (int %) (dec (int \1))) branch)))
(def branch (parse-branch branch-string))
(def sum-stick
(memoize (fn [i k] ; k > 0
(let [j (dec (+ i k))
xj (get branch j)]
(if (== k 1)
xj
(+ xj (sum-stick i (dec k... 阅读全帖 |
|
t****a 发帖数: 1212 | 5 第三题很有趣,偶来给个clojure的解
基本思路是
1. 对T做预处理,构建graph,同时,记录每个字符a-z所出现的位置
2. 由于S长度<100,数量却很大(100M),意味着有很多重复,使用memoize function会
大大减少计算量
下面的程序在1/1000大小的S数据集上运行需要1.7秒。观察了一下时间和数据集大小趋
势,在完整数据集上几分钟内也可以产生结果
(def alphabet (map char (range (int \a) (inc (int \z)))))
(def T (vec (take 10000000 (repeatedly #(rand-nth alphabet)))))
(def S (take 100000 (repeatedly (fn [] (take (inc (int (* (rand) 100))) (
repeatedly #(rand-nth alphabet)))))))
(def T-ix (group-by #(T %) (range (count T))))
(def T-map (let [pairs (dist... 阅读全帖 |
|
t****a 发帖数: 1212 | 6 第三题很有趣,偶来给个clojure的解
基本思路是
1. 对T做预处理,构建graph,同时,记录每个字符a-z所出现的位置
2. 由于S长度<100,数量却很大(100M),意味着有很多重复,使用memoize function会
大大减少计算量
下面的程序在1/1000大小的S数据集上运行需要1.7秒。观察了一下时间和数据集大小趋
势,在完整数据集上几分钟内也可以产生结果
(def alphabet (map char (range (int \a) (inc (int \z)))))
(def T (vec (take 10000000 (repeatedly #(rand-nth alphabet)))))
(def S (take 100000 (repeatedly (fn [] (take (inc (int (* (rand) 100))) (
repeatedly #(rand-nth alphabet)))))))
(def T-ix (group-by #(T %) (range (count T))))
(def T-map (let [pairs (dist... 阅读全帖 |
|
t****a 发帖数: 1212 | 7 俺也贴一个.. 正好学了frequencies这个函数。
(defn times [map-1 map-2]
(apply min (map #(if (contains? map-2 %)
(quot (map-2 %) (map-1 %))
0) (keys map-1))))
(let [input-file "./qualification/alphabetsoup/alphabet_soup.txt"
hackercup (vec "HACKERCUP")
[n & cases] (clojure.string/split-lines (slurp input-file))
hackercup-table (frequencies hackercup)
cases-table (map frequencies cases)
cases-times (map #(times hackercup-table %) cases-tabl... 阅读全帖 |
|
t****a 发帖数: 1212 | 8 楼主能贴出个大数据case来么,有多大?
下面的dp能解到500个长
(let [a (vec (apply concat (repeat 100 [2 3 1 4 4])))]
(def jump
(memoize
(fn [n]
(if (zero? n)
0
(let [ix (for [i (range n)
:when (<= n (+ i (get a i)))]
i)
m-set (map inc (remove nil? (map jump ix)))
m (if (empty? m-set)
nil
(apply min m-set))]
m)))))
(jump (dec (count a)))) |
|
t****a 发帖数: 1212 | 9 来自主题: JobHunting版 - G家电面题 用函数式编程写了一个。要20分钟内一次写对做不到,楼主挺厉害的。
(defn fold [vowel ch]
(let [alphabet (set (map char (range 97 123)))]
(when (contains? alphabet ch)
(case ch
\a 1
\e 5
\i 9
\o 15
\u 21
\y (if (and (not (nil? vowel)) (zero? vowel))
25
0)
0))))
(defn vowel-seq [s]
(let [sl (vec (clojure.string/lower-case s))]
(remove nil? (rest (reductions fold (cons 1 sl))))))
(defn vowel-prod-sum [s]
(let [p (partition-by #(> %... 阅读全帖 |
|
t**r 发帖数: 3428 | 10 then why not just
vec.min |
|
d********t 发帖数: 9628 | 11 谁闭眼就写?前面当然会check vec.empty() |
|
w********2 发帖数: 16371 | 12 earnings After the Close:
ACAS,ACLS,ACUR,ACXM,AEL,AETUF,AHP,AHT,AINC,ALB,ALG,ALR,AMOT,ARC,ARCX,AREX,
ARPI,ATO,AVG,AWAY,AWK,BEL,BGC,BIOA,BIOL,BKCC,BKD,BKEP,BNFT,BOJA,BREW,BRKR,
BTN,BVX,BWXT,CAA,CABO,CBMX,CBPX,CCRN,CDI,CDXS,CECO,CF,CJES,CLCT,CLR,CNAT,
CODI,COHR,COUP,CPE,CSC,CSGS,CSII,CSLT,CTL,CVG,CVT,CVU,CXO,CXW,DCO,DNN,DOOR,
DPM,DWCH,DXCM,DYN,EGAN,ENVA,EOX,EPAM,EPM,EQC,ERA,ETE,ETP,EVAR,EVTC,EXAM,FB,
FC,FEYE,FLT,FNHC,FOXF,FPRX,FRSH,FRT,FTD,FUEL,G,GARS,GDDY,GDEN,GNCMA,GPL,GPOR
,GSIG,GTY,GUID,HABT,H... 阅读全帖 |
|
X****i 发帖数: 1877 | 13 $【2018年7月25日404个股票的短期谷底高峰预测】$
【喜欢就顶,顶到99楼,就再次发最新并且更好更多机会的预测。】
对比预测,如果股价越极端,散户获暴利的机会和风险其实反而越佳。
花街的捣蛋,挤空或砸价,其实是制造极端价供精明的散户收割暴利。
花街这么做绝非善意,而是要吓唬散户在其人为的极端价割肉出局。
花街有用之不尽的代理基金和资金充炮灰,可以任性的挤高峰砸谷底。
花街有别人的代理钱来任性,用大量炮灰钱可以买出涨价,砸出跌价。
股票最不定因素,就是花街每天对散户的捣蛋,尤其挤高峰和砸谷底。
以下是为蝌蚪们提供的最基本,炒股绝对须要遵守,的注意事项:
1. 预备大量(>=50%)现金,准备用来收割花街人为制造的捣蛋极端价。
2. 只用50%的现金做买卖的预算,分散风险在10到20个不同的股票里。
3. 一旦价格接近预测的谷底或高峰,就开始用短期的趋势线跟踪。
4. 如果价格比预测极端,意味花街可能在捣蛋,即挤空或砸价。
5. 既然花街意在制造极端价,那就耐心的避其锐气,袭其惰归。
6. 所以只要短期趋势线没破,就不下单,不加码,不管价位多极端。
7. 这样才能充分利用花街制造的... 阅读全帖 |
|
X****i 发帖数: 1877 | 14 【2018年12月20日300个股票的短期谷底和高峰的预测】
熊市策略是逢高峰就卖空,谷底补空平仓,如此周而复始。要少做多。
熊市性质是多数日子前盘价位高,后盘价位低,如此制造下跌的趋势。
对比预测,如果股价越极端,散户获暴利的机会和风险其实反而越佳。
花街的捣蛋,挤空或砸价,其实是制造极端价供精明的散户收割暴利。
花街这么做绝非善意,而是要吓唬散户在其人为的极端价割肉出局。
花街有用之不尽的代理基金和资金充炮灰,可以任性的挤高峰砸谷底。
花街有别人的代理钱来任性,用大量炮灰钱可以买出涨价,砸出跌价。
股票最不定因素,就是花街每天对散户的捣蛋,尤其挤高峰和砸谷底。
以下是为蝌蚪们提供的最基本,炒股绝对须要遵守,的注意事项:
1. 预备大量(>=50%)现金,准备用来收割花街人为制造的捣蛋极端价。
2. 只用50%的现金做买卖的预算,分散风险在10到20个不同的股票里。
3. 一旦价格接近预测的谷底或高峰,就开始用短期的趋势线跟踪。
4. 如果价格比预测极端,意味花街可能在捣蛋,即挤空或砸价。
5. 既然花街意在制造极端价,那就耐心的避其锐气,袭其惰归。
6. 所以只要短期趋势线没破,就... 阅读全帖 |
|
X****i 发帖数: 1877 | 15 尼玛,花街八爪鱼无孔不入,控制信息。谁删了我昨天贴的888个预测?
所以别再“等下再看”,先下载留个备份,否则预测也许很快又不见了。
以下是最新的供1月2日和之后几天(2星期内到4星期窗口)买卖的预测:
【2019年1月2日最新股票预测:666个股票的短期谷底和高峰的预测】
熊市策略是逢高峰就卖空,谷底补空平仓,如此周而复始。要少做多。
熊市性质是多数日子前盘价位高,后盘价位低,如此制造下跌的趋势。
对比预测,如果股价越极端,散户获暴利的机会和风险其实反而越佳。
花街的捣蛋,挤空或砸价,其实是制造极端价供精明的散户收割暴利。
花街这么做绝非善意,而是要吓唬散户在其人为的极端价割肉出局。
花街有用之不尽的代理基金和资金充炮灰,可以任性的挤高峰砸谷底。
花街有别人的代理钱来任性,用大量炮灰钱可以买出涨价,砸出跌价。
股票最不定因素,就是花街每天对散户的捣蛋,尤其挤高峰和砸谷底。
以下是为蝌蚪们提供的最基本,炒股绝对须要遵守,的注意事项:
1. 预备大量(>=50%)现金,准备用来收割花街人为制造的捣蛋极端价。
2. 只用50%的现金做买卖的预算,分散风险在10到20个不同的股票里。
3. ... 阅读全帖 |
|
|
|
|
|
|
|
|
e****o 发帖数: 76 | 23 One thing I worry about this solution is once you delete one from vec, it
size changes, you might not continue to use the size you got last time. |
|
F****n 发帖数: 3271 | 24 你这个Work但每次都要调用一遍vec.size(),
而且remove会有不必要的shift |
|
w*****3 发帖数: 910 | 25 准备compile CMAQ 一个大气模型软件。
里面的module 指明用PGI or Intel Fortran 。
Requirements: I/O API & netCDF libs, CVS, and PGI or Intel Fortran
但这两个fortran compiler 都不免费。
想用GNU gfortran 但是module中 Flags参数不一样。
#> Portland Group 9.01 Fortran Compiler Flags
#set FSTD = "-Mfixed -Mextend"
#set LINK_FLAGS = "-Bstatic"
#> Intel Fortran 10.1 Compiler Flags
set FSTD = "-extend_source 132 -vec-report0 -cm -w95 -c"
set LINK_FLAGS = "-liomp5 -lpthread -Bstatic"
不知道有哪位高手可以指点一下。
多谢了 |
|
|
j****r 发帖数: 28 | 27 That depends on the location of newly allocated memory space.
If you use new to allocate a new array, it is allocated in heap. I remeber
available space in heap is huge because of virtual memory. In addition, heap
is well managed so that error is returned if your memory allocation request
can not be satisfied.
If you use static definition (like vector vec[10000]), it is allocated in
stack. In linux, some systems have default limitation about the stack size.
You can use unlimit command to chec |
|
p***o 发帖数: 1252 | 28 这个改变了vec的大小且影响速度,估计楼主不喜欢...
也许搞个double & x()就可以了。 |
|
I*******e 发帖数: 1879 | 29 ☆─────────────────────────────────────☆
mrmaoren (我是毛人毛人是我我是毛人毛人是我) 于 (Fri Jun 12 23:40:02 2009, 美东) 提到:
看到有人写的code里有这样的function:
std::vector GetList();
我一直认为这样很浪费,不如用
void GetList( std::vector & vec );
但是那人告诉我说modern compiler都会自动optimize,不会有什么overhead。难道我的
知识又过时了?
☆─────────────────────────────────────☆
goodbug (好虫) 于 (Fri Jun 12 23:45:55 2009, 美东) 提到:
efficiency is so overrated, readability is the key for most
maintable system. You can always spend some extra time on
op |
|
o****b 发帖数: 31 | 30 One problem: std::vector vec(vecSize)
能不能讲讲这里,不太懂。还有为什么如果我把vector换成array就可以,如下
class example{
public:
static const int vecSize = 20;
double arr[vecSize];
};
谢谢了
define |
|
m*******r 发帖数: 98 | 31 the type of vec is vector
the type of arr is double [vecSize] |
|
c*****o 发帖数: 178 | 32 在cpp中不要再定义了。很奇怪,c++primer中说必须要在体外定义,但是就是不能通过
,link错误,说重复定义。我也觉得很奇怪,等高人解答。面试问我这个,可咋说呢?
我用的是visual studio2008
【: One problem: std::vector vec(vecSize) |
|
i**h 发帖数: 424 | 33 Or,
if(test(iter->content)==true)
{
iter = vec.erase(iter)
}
else
{
++iter;
} |
|
h********m 发帖数: 386 | 34 If (... ==true)
Vec.erase(tier++)
else
Iter++
Iter++ does two things before erase happen. Increment iter and return
original iter pos
So u will be fine |
|
d****p 发帖数: 685 | 35 现在看这么简单的题了?
std::cin >> numOfLines; // an int
for (int i = 0; i < numOfLines; ++i)
{
std::cin >> aLine; // a std::string
parseLineAndFillVector(aLine, );
} |
|
G****A 发帖数: 4160 | 36 Suppose the default value is 0.
there are two ways (as far as I know) to handle that:
1. const double* pc = new double [SIZE]();
2. std::vector vec(SIZE, 0); --if a vector is working for your
case. |
|
f*******t 发帖数: 7549 | 37 vec.push_back(tmp[j]);
★ 发自iPhone App: ChineseWeb 7.8 |
|
t**r 发帖数: 3428 | 38 (def the-world (ref "hello"))
(def bizarro-world (ref {}))
"Two worlds are better than one"
(= ["Real Jerry" "Bizarro Jerry"]
(do
(dosync
(ref-set the-world {})
(alter the-world assoc :jerry "Real Jerry")
(alter bizarro-world assoc :jerry "Bizarro Jerry")
(vec (map #(:jerry @%) [the-world bizarro-world]))))))
看最后一行。逻辑不难 但是符号太多。 |
|
p***o 发帖数: 1252 | 39 不用写那么具体, 这样就好。
template
void processVector(const V &vec, F fun) {
}
processVector
const |
|
t*****n 发帖数: 4908 | 40 http://www.csdn.net/article/2015-08-28/2825572
简单讲,原文http://eax.me/cpp-will-never-die/是俄语,有人感兴趣,得到作者同意后,把它翻成英文。(译者:然后我再把它翻成中文。)
显而易见,这篇博文将会导致一场语言大圣战,所以,请思考两遍,确定你将会通过“
有建设性的辩论”的评论参与讨论后再开始阅读这篇文章。
再次说明原文是俄语:)
注意:进一步讲,我冒昧的认为Rust有意尝试创建一个快速并且安全的语言。毕竟,
Mozilla的人最初构思用它作为工具来开发一个浏览器引擎。如果它被证明是另外一个
仅仅安全的语言,那么我认为 它没有达成目标。那里有许多非常不同的安全语言供人
们选择和品味,如果Rust没有打算代替C++,那么:
为什么它需要包含一个不安全子集;
并且,为什么作者要抛弃Rust的轻量级进程?毕竟它们很方便,对吧?换句话说,
如果我假设错了,那么整件事情就没有讨论的意义了。
如有你碰巧偶尔逛逛linux.org.ru论坛,那么请被提醒到这篇文章没有触及为什么不喜
欢Rust的那10条纯技... 阅读全帖 |
|
n*****d 发帖数: 956 | 41 嗯,把在手边的都放上来好了。
\hat
\check
\breve
\acute
\bar
\dot
\ddot
\grave
\tilde
\vec
一个个试试看吧 :) |
|
m******t 发帖数: 109 | 42 在做个MUTATION PLASMID。 在T-VEC里有这个MUTATION,可是转到我要的VECTOR里就
变成WT。 高手解释下。 多谢拉 我当然会继续挑索要的CLONE |
|
m******t 发帖数: 109 | 43 不是 quick change. 关键是从TVEC里切出来再装进自己的VEC,就没MUTATION了 |
|
z*********4 发帖数: 146 | 44 Collect. Czech. Chem. Commun. 2001, 66, 1047-1061
doi:10.1135/cccc20011047
Separation of Hydrophilic Oligomers and Polymers Using Monodisperse Poly(2,3
-dihydroxypropyl Methacrylate-co-Ethylene Dimethacrylate) Beads via Normal-
Phase and Hydrophilic-Interaction HPLC
František Švec*, Miroslav Petro and Jean M. J. Fréchet
Link: http://cccc.uochb.cas.cz.erl.lib.byu.edu/66/7/1047/
Thanks a lot! |
|
l*********i 发帖数: 483 | 45 我的理解,如果纯追求计算速度的话,一般来说用数组在速度上肯定是大
于等于指针的,因为指针需要求地址。一般的我都是用
double function(double matrix1[length],...)
用指针的好处是create general-purpose routines。
单纯从提高运算速度上来说,算法和compiler的影响比较大,试试icc,
然后打开那个vec-report看看是否尽可能的把loop都vectorize了。 |
|