由买买提看人间百态

topics

全部话题 - 话题: str2
1 2 3 下页 末页 (共3页)
c***2
发帖数: 838
1
Here's the full file. You may compile and run: any case I missed?
==================================================================
/* wild.c
*/
#include
#include
#include
#define STR_SIZE 256
//===========================================================
int matchndots(const char *text, const char *dstr, int len)
{
while(len&&*text&&*dstr&&(*text==*dstr || *dstr=='.')){
text++;
dstr++;
len--;
}

if(!len)
return 1;
... 阅读全帖
b*****n
发帖数: 482
2
来自主题: JobHunting版 - aababccbc remove abc
How to check the top 2 objects? It seem we can only look at the top
object.
Another question is we have to check N-1 chars from the top of the
stack, where N is the length of the str2. If there are multiple
characters in str2 that are the same as its last char (e.g. accccbc),
then even if str1 is the same as string 2, we have to do extra check 4
times whenever we meet a 'c' in str1.
My idea is to have a companion array recording the maximum matched index
of the char sequence in str1. If there is... 阅读全帖
e********r
发帖数: 2352
3
来自主题: JobHunting版 - Epic Written Interview
在本地的考试中心预约的上机考试。考试有三个部分,1.数学题,2.给出一种新的编程
语言的语法,回答相应问题,3. Programming Test 要求速度和准确性both important
Programming test 答得不好,肯定不行了,把面试题发上来让大家做做。做了3个半小
时,快累死了。
数学题基本上就是脑筋急转弯,举几个例子
1. You have three kinds of magazines, all but two are Times, all but two are
Science, all but two are Nature. How many magazines in total do you have?
3 books
2. Only one of the answers is true
A. All of the below are true
B. All answers are true
C. One of the above is true
D. All of the above are true
E. None of the above ar... 阅读全帖
t****a
发帖数: 1212
4
来自主题: JobHunting版 - 这个题目怎么做?
这个是map .*的dp算法,用memoize recursion实现,包括测试数据。改成.+很简单。
懒得改了。
(defn ch-match [c1 c2]
(if (= c2 \.)
true
(if (= c1 c2)
true
false)))
(def str-match
(memoize
(fn [str1 str2]
(cond (and (empty? str1) (empty? str2)) true
(or (empty? str1) (empty? str2)) false
:else (let [c1 (peek str1)
c2 (peek str2)]
(if (= c2 \*)
(let [c3 (peek (pop str2))]
(if (ch-match c1 c3)
... 阅读全帖
w****x
发帖数: 2483
5
发现这道题属于没见过肯定想不出来,知道怎么解也很难写对。昨天重新写了一下,觉
得学到蛮多的,分享一下。
以前写过一个很挫的DP版本:
int GetEditDist(const char* str1, const char* str2)
{
assert(str1 && str2);
int nLen1 = strlen(str1);
int nLen2 = strlen(str2);
int* rec = new int[nLen2];
bool bFound = false;
for (int i = 0; i < nLen2; i++)
{
if (str2[i] == str1[0])
bFound = true;
rec[i] = bFound ? i : i+1;
}
bFound = (str2[0] == str1[0]); //(str2[0] == str1[0]) not false
for (int i = 1; i < nLe... 阅读全帖
s******n
发帖数: 3946
6
来自主题: JobHunting版 - 说好得FG面经,回馈板上GGJJ
递归非DP做法
bool isScramble(char* str1, char* str2, int length) {
if (length==1) return *str1 == *str2;
for (int i=1; i if (isScramble(str1, str2+(length-i), i)
&& isScramble(str1+i, str2, length-i))
return true;
if (isScramble(str1, str2, i)
&& isScramble(str1+i, str2+i, length-i))
return true;
}
return false;
}
递归DP做法
class Solution {
char* str1;
char* str2;
int m;
int m2;
int m3;
int* DP;
#define dp(i,j,k) DP[m2 * (i) + m * (j) + (k) ]
public:
Solution(cha... 阅读全帖
w****x
发帖数: 2483
7
来自主题: JobHunting版 - 问一个facebook的电面
string digitMul(string str, int nDigit)
{
assert(nDigit >= 0 && nDigit <= 9);
int nCarrier = 0;
string strRes;
for (int i = str.size()-1; i >= 0; i--)
{
int nTmpDigit = str[i] - '0';
int nRes = nTmpDigit * nDigit;
nRes += nCarrier;
strRes.insert(strRes.begin(), ('0' + nRes%10));
nCarrier = nRes/10;
}
if (nCarrier > 0)
strRes.insert(strRes.begin(), ('0' + nCarrier));
return strRes;
}
string StrAdd(string str1, string ... 阅读全帖
w****x
发帖数: 2483
8
来自主题: JobHunting版 - 问一个facebook的电面
string digitMul(string str, int nDigit)
{
assert(nDigit >= 0 && nDigit <= 9);
int nCarrier = 0;
string strRes;
for (int i = str.size()-1; i >= 0; i--)
{
int nTmpDigit = str[i] - '0';
int nRes = nTmpDigit * nDigit;
nRes += nCarrier;
strRes.insert(strRes.begin(), ('0' + nRes%10));
nCarrier = nRes/10;
}
if (nCarrier > 0)
strRes.insert(strRes.begin(), ('0' + nCarrier));
return strRes;
}
string StrAdd(string str1, string ... 阅读全帖
p********r
发帖数: 66
9
把字符串看成一个环,用一个下标 i 指向新的字符串的开始位置
i = 2 to n/2 i = k表示pattern的长度是k
i = k 时判断 i%k == 0 并且从k开始的新字符串等于从0开始的字符串(字符串比较可
以in place实现)
如果条件不符合则 i++
比如:
str1 = abcabcabc
i = 2, str2 = cabcabcab 9%2 != 0 => i++
i = 3, str2 = abcabcabc 9%3 == 0 and str2 == str1 => return true
比如:
str1 = bcdbcdbcde
i = 2, str2 = dbcdbcdebc 10 %2 == 0 but str1 != str2 => i++
i = 3, str2 = bcdbcdebcd 10 %3 != 0 => i++
i = 4, similar to i =3
i = 5, str2 = dbcdebcdbc str1 != str2 => return false
aaaaaaaaaa 应该返回True吧... 阅读全帖
p********r
发帖数: 66
10
把字符串看成一个环,用一个下标 i 指向新的字符串的开始位置
i = 2 to n/2 i = k表示pattern的长度是k
i = k 时判断 i%k == 0 并且从k开始的新字符串等于从0开始的字符串(字符串比较可
以in place实现)
如果条件不符合则 i++
比如:
str1 = abcabcabc
i = 2, str2 = cabcabcab 9%2 != 0 => i++
i = 3, str2 = abcabcabc 9%3 == 0 and str2 == str1 => return true
比如:
str1 = bcdbcdbcde
i = 2, str2 = dbcdbcdebc 10 %2 == 0 but str1 != str2 => i++
i = 3, str2 = bcdbcdebcd 10 %3 != 0 => i++
i = 4, similar to i =3
i = 5, str2 = dbcdebcdbc str1 != str2 => return false
aaaaaaaaaa 应该返回True吧... 阅读全帖
g*********s
发帖数: 1782
11
来自主题: Programming版 - which str_cmp code is better?
the following two str_cmp have the diff on the major loop. which one is
better?
the 1st seems better in the look. but it does have the side effect that
p and q are possibly pointing to unknown memory location.
so i prefer the 2nd. anyone agree?
int str_cmp(const char* str1, const char* str2) {
if ( str1 == str2 ) {
return 0;
}
if ( str1 == NULL || str2 == NULL ) {
return (str1 == NULL ? -1 : 1);
}
const char* p = str1;
const char* q = str2;
int res (0)... 阅读全帖
l********a
发帖数: 1154
12
做2个字符串,减去后找0,从第一个0到最后一个0之间的就是需要的
测试代码
>>> str1 = 'ABCDXYZ'
>>> str2 = 'ABCDMNOXYZ'
>>> strCompare1 = str1+'*'*(len(str2)-len(str1))
>>> strCompare2 = '*'*(len(str2)-len(str1))+str1
>>> sc1 = [ord(str2[i])-ord(strCompare1[i]) for i in range(len(str2))]
>>> sc2 = [ord(str2[i])-ord(strCompare2[i]) for i in range(len(str2))]
>>> n1 = sc1.index(0)+sc1.count(0)
>>> n2 = sc2.index(0)
>>> str2[n1:n2]
'MNO'
>>>
2个index, [n1,n2)
n1 = 4
n2 = 7(不包含)
D**********d
发帖数: 849
13
来自主题: JobHunting版 - 问两道字符串的题
第一题 DP
f(str1,str2) = max{f(str1-1,str2), f(str1,str2-1), g(str1-1,str2-1)+ str1[
end] - str2[end]},
where g(str1,str2) is the max distance of suffix.

s2
p*****c
发帖数: 20
14
来自主题: Programming版 - 请教一个C里面string copy的问题
char str[] = "fisrt string";
char *str2;
strcpy(str2,str);
puts(str2);
编译可以通过,但运行的时候就出错了。
我把 char *str2 改成了 char str2[4], 就可以了。
请问为什么用指针会出错, 还有为什么在第2种情况里,即使我初始的str2的长度小于
要copy的 str的长度 反而没有问题。
w****x
发帖数: 2483
15
来自主题: JobHunting版 - 做题做得很郁闷,求指点
//Multiple two strings "1234" * "23" = "28382"
//A Facebook phone interview problem, suppose to done within
//15 minutes, I believe is mission impossible. The solution below
//uses a common way to solve this problem, does not deal with the
//sign, the logic is still refined several times.
string Multiple(string str1, string str2)
{
assert(str1.size() > 0 && str2.size() > 0);
string strRes;
for (int i = str2.size() - 1; i >= 0; i--)
{
//Calculate digit multiple
int... 阅读全帖
n****e
发帖数: 678
16
来自主题: JobHunting版 - F电面
看了讨论后,是不是要写一个这样的function
这题应该没有regular expression难吧。regular expression还有'.', '*'啥的,这里
只有'?'
bool isMatch(string str1, string str2) {
if (str1.size() != str2.size()) {
return false;
}
for (int i = 0; i < str1.size(); i++) {
if (str2[i] == '?')
continue;
if (str2[i] != str1[i])
return false;
}

return true;
}
vector wordmatching(vector words, string str) {
vector res;
for (int i = 0 ; i < words.size(); i++) {
... 阅读全帖
I*******e
发帖数: 1879
17
来自主题: Programming版 - [合集] 一个依赖于平台的memory问题
☆─────────────────────────────────────☆
gandjmitbbs (Nothing) 于 (Wed Jan 21 14:36:51 2009) 提到:
#include
#include
#include
int main(int argc, char* argv[]) {
char* str = "hello";
char* str1 = new char [strlen(str)+1];
strcpy(str1, str);
char* str2 = str1;
printf("str1: %s, str2: %s\n", str1, str2);
delete [] str1;
delete [] str2;
}
RH3上,输出结果,退出,一切正常。
RH4上:
str1: hello, str2: hello
*** glibc detected *** double free or corruption (fastt
r****t
发帖数: 10904
18
itertools 的 takewhile 和 dropwhile 对这个问题也很好用
def n_common(str1, str2):
it = takewhile(lambda x: x[0]==x[1], izip(str1, str2))
return len(list(it))
idx1 = n_common(str1, str2)
idx2 = -n_common(str1[::-1], str2[::-1])
这样应该就行了
>>> str2[idx1:idx2]
'MNO'
s*********d
发帖数: 19
19
来自主题: Computation版 - 关于cstring的两个变量的比较
有str1、str2两个cstring类型变量
str1是从edit对话框得到的
str2是从txt文本利用ReadFile()得到
出现诡异的是:假设str1的值是"aa", str2的值是"aa";利用str1.compare(str2)能正
确比较。但是如果str1的值是"bb", str2的值是"bb",结果却是不相等,查看两个的
m_pszData都是显示"bb",但是一个是显示0x000a L''另外一个却显示是0x0062L'b'
请问原因是什么 怎么解决好
h***o
发帖数: 1494
20
来自主题: JobHunting版 - 问个题?
int TransferString(char* str1, char* str2)
{
if(!str1||!str2)
return -1;
int len1=strlen(str1);
int len2=strlen(str2);
int** t=new int[len1+1][len2+1];
for(int i=0;i t[i][0]=i;
for(int j=0;j t[0][j]=j;
for(j=1;j for(i=1;i {
if(str1[i]==str2[j])
d[i][j]=d[i-1][j-1];
else
{
d[i][j]=d[i-1][j]>d[i][j-1]?d[i][j-1]:d[i-1][j];
d[i][j]=d[i][j... 阅读全帖
d*******d
发帖数: 2050
21
来自主题: JobHunting版 - 问道google面试题
didn't see the code you guys posted, maybe you guys already covered my
method.
bool compare_string(const string & str1, const string & str2){
int length1 = str1.length();
int length2 = str2.length();
int max = length1 > length2 ? length1 : length2;
int i1 = 0, i2 = 0;
int i=0;
while(i if( str1[i1] > str2[i2] )
return true;
else if( str1[i1] < str2[i2])
return false;
else{
i1++;
if( i1>=length1){
i1 = i1 - length1;
}
i2++;
... 阅读全帖
k***t
发帖数: 276
22
看到一个 Space O(1)的,写了一下。
不过"(ab(xy)u)2)" -> "(ab(xyu)2)"而不是(ab(xy)u)2)" -> "(ab(xy)u)2"。
#define INVD -1
void balance (char *a) {
if (!a || !*a) return;
int l=0, u=(int)strlen(a)-1;
while (1) {
while (l<=u && a[l]!='(') {
if (a[l]==')') a[l]=INVD;
l++;
}
if (l>u) break;
while (u>=l && a[u]!=')') {
if (a[u]=='(') a[u]=INVD;
u--;
}
if (l>u) break;
l++; u--;
}
char *p=a;
bool dirty=false;
while (*a) {
... 阅读全帖
w****x
发帖数: 2483
23
来自主题: JobHunting版 - 问一个Facebook大数相乘的题

靠, 太扯了, 15分钟电面谁TMD 15分钟想的出这个解法, 而且只会c语言的根本很难做, 电面出
这个题的人脑袋没问题吧!!!
没想出这个解法的就是我下面的这种烂code:
string Multiple(string str1, string str2)
{
assert(str1.size() > 0 && str2.size() > 0);
string strRes;
for (int i = str2.size() - 1; i >= 0; i--)
{
int nAdd = 0;
string strCur;
for (int j = str1.size() - 1; j >= 0; j--)
{
int nTmpI = str2[i] - '0';
int nTmpJ = str1[j] - '0';
int nRes = nTmpJ * nTmpI + nAdd;
nAdd ... 阅读全帖
O******i
发帖数: 269
24
来自主题: JobHunting版 - 说好得FG面经,回馈板上GGJJ
if (isScramble(str1, str2 + (length - i), i)
&& isScramble(str1 + i, str2, length - i))
return true;
if (isScramble(str1, str2, i)
&& isScramble(str1 + i, str2 + i, length - i))
return true;
w**5
发帖数: 34
25
可以这样不?
string serialize(string &str1, string &str2)
{
string str = str1;
str.append(str2);
str[str1.length()] |= 0x80; // 把st2的第一个char变成负数
return
}
void deserialize(string &str, string &str1, string &str2)
{
for (int i=0; i {
if (str[i] < 0) {
str[i] &= 0x7f;
str1 = str.substr(0, i);
str2 = str.substr(i, str.length() - i);
}
}
}
c**********x
发帖数: 32
26
来自主题: JobHunting版 - 求问一道算法题~
Question:
There are 1000 distinct strings, each string is composed by the chars in{‘a
','b','c','d'}. And each string.Length()==30;
here's a function aims at calculating the overlap of two different strings;
int overlapNumber(string str1, string str2){...}
overlapNumber is the length of largest prefix of str2 which is contained by
str1(Not necessary the surfix of str1)
and what I want is to calculate all the overlapNumbers between every two
strings within this string sets.
Notice: overlap(str1,s... 阅读全帖
c*******9
发帖数: 6411
27
来自主题: Programming版 - 请教如何使用qsort() to sort string.
Xentar,
could you explain why the correct function is :
int mystrcmp(const void * str1, const void * str2)
{
return strcmp(*(const char* const*)str1, *(const char* const*)str2);
}
and not:
nt mystrcmp(const void * str1, const void * str2)
{
return strcmp( (const char*)str1, (const char*)str2 ) ;
}
The array elements here are pointer to char*?
Thanks for the help!
d****p
发帖数: 685
28
来自主题: Programming版 - 求改进小函数
一个比较两个字符串的函数(相等返回0,否则-1或者1):
int compareStr(str1, str2)
if (length(str1) < length(str2))
return -1;
else if (length(str1) > length(str2))
return 1;
// two string equal in length
for each character c1i in str1 and c2i in str2
if c1i is upper case
convert c1i to lower case
if c2i is upper case
convert c2i to lower case
if (c1i < c2i)
d******i
发帖数: 7160
29
比如某行有两个不相邻的字符串
XXX "str1" XXX "str2" XXX
都被""包裹着。
目前我知道grep命令
grep -o "\"\w*\".*\"\w*\"" file.txt
能找到这些行并输出 "str1" XXX "str2" 的部分:
"str1" XXX "str2"
却没办法滤掉XXX只输出那两个些被匹配到的串:
"str1" "str2"
请指教。
b*****n
发帖数: 2324
30
来自主题: JobHunting版 - 被bloomberg据了
面试迟到了半个小时。。。。我分特。。
在早上上班之前的rushhour中坐了一个多小时的出租车。。
如果做地铁就正好不会迟到了。。可是我不想穿戴整齐去挤地铁。。
在前台领了ID上六楼,就看见几个很酷的黑以人在面前,几步一个。。
其中一个主动打招呼,让我坐着等人来,给人感觉像很热情的黑社会那种。。
然后一个人领我去四楼,直接就开始跟RD的人interview
第一轮两个人,问了我简历上的背景的一些问题
因为我以前不是cs的,但是作的东西跟建模有关,问了很多
让我写一个remove space from string的程序
我写了下面这个:
void removespace(char * str){
if(str == 0 || *str == '\0')
return;
char* str2;
while(*str!='\0' && *str!=' ')
str++;
str2=str;
while(*str2 == ' ')
s
y****d
发帖数: 52
31
有没有朋友有类似的经历?
我现在学校做postdoc,持有cap-exempt的H1B,有效至今年8月31日。半个月前拿到一个
公司的offer,公司希望我9月1日就开始上班。我第一次申请cap-subject的H1B,
公司律师说2007年有一个什么memo,即使有cap,10月1日之前也能合法工作。
因为我现在的H1B 8月31日到期,律师递交了两份申请:
一份是H1B extension, 将我现在的H1B延长到9月30日;
一份是H1B transfer, 将我的H1B的sponsor转到新的公司,9月1日开始。
各位觉得靠谱吗? USCIS批准的可能性大吗?
要是USCIS只能准许10月1日开始新的cap-subject H1B的话,那我9月份是不是就
只能回国签证去了? 多谢!
这是我从网上找的一个类似的case:
Question 7: A Ph.D. student began her first H-1B employment in August 2009,
working as a postdoctoral associate at a university, w... 阅读全帖
f*******t
发帖数: 7549
32
平衡括号的题可以用贪心法做吧
#include
#include
#include
#include
#define INVALIDCHAR -1
using namespace std;
char *balance(char *str)
{
int len = strlen(str);
if(len < 1)
return NULL;

char *buff = (char*)calloc(len + 1, 1);
stack left;
for(int i = 0; i < len; i++) {
if(str[i] == '(')
left.push(i);
else if(str[i] == ')') {
if(left.empty()) {
buff[i] = INVALIDCHAR;
co... 阅读全帖
N**********d
发帖数: 9292
33
来自主题: JobHunting版 - 问个缺少逗号的数组赋值问题
【 以下文字转载自 Programming 讨论区 】
发信人: NeedForSpeed (working~~~~~), 信区: Programming
标 题: 问个缺少逗号的数组赋值问题
发信站: BBS 未名空间站 (Sun Jan 15 17:05:58 2012, 美东)
源程序是:
#include
#include
using namespace std;
int main(int argc, char * argv[])
{
std::string m_ColumnName [] =
{
"str1",
"str2"
"last_one"
};
cout << m_ColumnName[0].substr(0,4) << endl;
cout << m_ColumnName[1].substr(0,4) << endl;
cout << ... 阅读全帖
m***n
发帖数: 2154
34
来自主题: JobHunting版 - careerup 150里面的一道题。。
write a method to decide if two string are anagrams or not .
为啥不能
int count[256];
while(*str1 && *str2) {
count[*str1++]++;
count[*str2++]--;
}
if(*str1 || *str2) return false;
for(int i=0;i<256;++i)
if(count[i])
return false;
return true;
搞不清楚为啥他解法那么繁琐,还是有什么蹊跷?
w****x
发帖数: 2483
35
来自主题: JobHunting版 - 上一道我以前喜欢出的题目吧

const char* getNum(const char* q, int& res)
{
const char* p = q;
if (NULL == p) return NULL;
res = 0;
while (*p != '.' && *p != 0)
res = 10*res + *p++ - '0';
if (*p == '.') p++;
return p;
}
bool lessThan(const char* str1, const char* str2)
{
if (NULL == str1 || NULL == str2)
return false;
const char* p1 = str1;
const char* p2 = str2;
while (*p1 != 0 && *p2 != 0)
{
int x,y;
p1 = getNum(p1, x);
p2 = getNum(p2, y);... 阅读全帖
p****o
发帖数: 46
36
来自主题: JobHunting版 - 狗家面经
cool. 什么编程语言?第二题, 上个c++:
using namespace std;
list intersect(list intList1, list intList2){
list::const_iterator it1 = intList1.begin();
list::const_iterator it2 = intList2.begin();
list intList3;
while((it1 != intList1.end()) && (it2 != intList2.end())) {
if (*it1 == *it2) {
intList3.push_back(*it1);
++it1;
++it2;
} else if (*it1 < *it2) {
++it1;
... 阅读全帖
k****r
发帖数: 807
37
来自主题: JobHunting版 - 再爆个U家面经吧
版上好心人帮忙内荐的,在这里表示感谢。
店面:
sudoku solver。
昂塞:4轮
1.1 anagrams,秒了。
1.2 input String“[email protected]
/* */..[email protected]
/* */^^^2134nn..uber@
hello.edu.cn”
output 返回所有合理的address。java写到后来没写完,但是思路被认可。
2. input(String[] str1, String[] str2) 返回match str2里任一个的所有str1中的
元素(白板)。比如说str2是“hiw”,“abc”; str1是“hiw2”,“3hiw”, “
def”,“abc1”,应该返回“hiw2”,“3hiw”,“abc1”。这题交流不顺畅,写出
来一种方法,他看半天不懂,解释了半天,他似懂非懂,又说我的方法不efficient,
最后我似乎明白他要考啥,我说了一个treemap来解决的办法,他说ok,没时间再写
code了,也不知道是不是真的ok。
3. 聊messaging sy... 阅读全帖
f*******r
发帖数: 976
38
来自主题: JobHunting版 - 再爆个U家面经吧
Move on.

店面:
sudoku solver。
昂塞:4轮
1.1 anagrams,秒了。
1.2 input String“[email protected]
/* */..[email protected]
/* */^^^2134nn..uber@
hello.edu.cn” output 返回所有合理的address。java写到后来没写完,但是思路被
认可。
2. input(String[] str1, String[] str2) 返回match str2里任一个的所有str1中的
元素(白板)。比如说str2是“hiw”,“abc”; str1是“hiw2”,“3hiw”, “
def”,“abc1”,应该返回“hiw2”,“3hiw”,“abc1”。这题交流不顺畅,写出
来一种方法,他看半天不懂,解释了半天,他似懂非懂,又说我的方法不efficient,
最后我似乎明白他要考啥,我说了一个treemap来解决的办法,他说ok,没时间再写
code了,也不知道是不是真的ok。
3. 聊messaging system,聊背景。考了个a... 阅读全帖
B*******j
发帖数: 232
39
就用的bfs,可是就是通过不了测试,请帮忙看看我这个办法,怎么过不去呢? 先谢
过了
public class Solution {
/**
* @param start, a string
* @param end, a string
* @param dict, a set of string
* @return an integer
*/
public int ladderLength(String start, String end, Set dict) {
// write your code here

int len = dict.size();

if(len < 1){
return 0;
}

Queue q = new LinkedList();


i... 阅读全帖
y****d
发帖数: 52
40
【 以下文字转载自 JobHunting 讨论区 】
发信人: yangfd (清风冷月), 信区: JobHunting
标 题: (附面经) cap-exempt H1B 到cap-subject H1B的问题
关键字: 面经,gap,cap-exempt,H1B
发信站: BBS 未名空间站 (Thu Aug 18 21:50:58 2011, 美东)
有没有朋友有类似的经历?
我现在学校做postdoc,持有cap-exempt的H1B,有效至今年8月31日。半个月前拿到一个
公司的offer,公司希望我9月1日就开始上班。我第一次申请cap-subject的H1B,
公司律师说2007年有一个什么memo,即使有cap,10月1日之前也能合法工作。
因为我现在的H1B 8月31日到期,律师递交了两份申请:
一份是H1B extension, 将我现在的H1B延长到9月30日;
一份是H1B transfer, 将我的H1B的sponsor转到新的公司,9月1日开始。
各位觉得靠谱吗? USCIS批准的可能性大吗?
要是USCIS只能准许10月1日开始新的cap-subjec... 阅读全帖
j*******a
发帖数: 101
41
来自主题: Programming版 - reverse words, not the Microsoft one!!!
i wrote one. it works well.
#include
using namespace std;
char* reverse_word (char* str);
int main(int argc, char** argv){
char str[] = "this is very beautiful ";
cout <<"["< cout << "["<< reverse_word(str)<<"]"< char str2[] = "jokeslala rejected some 100k offers ";
cout <<"["< cout << "["<< reverse_word(str2)<<"]"<
system("pause");
return 0;
}
char* reverse_word (char* str){
if (str =
m**********8
发帖数: 103
42
来自主题: Programming版 - I like this one.
sort with criterion str1 < str2 if str1 + str2 < str2 + str1.
y**********0
发帖数: 425
43
来自主题: Programming版 - 这个程序怎么解决
编写函数int index(char *s, char *t),返回字符串t 在字符串s中出现的最左边的
位置,
如果在s中没有与t匹配的子串,就返回-1。
#include
#include
int index(char *s,char *t)
{
int i,j,k;
for(i=0;s[i]!='\0';i++)
for(j=i,k=0;t[k]!='\0' && s[j]==t[k];j++,k++);
if(t[k]=='\0')
return i;
return -1;
}
void main()
{
int n;
char str1[20],str2[20];
gets(str1);
gets(str2);
n=index(str1,str2);
cout< }
始终得不到正确答案,是Index的问题。
答案的Index程序是这样的:得到了正确的答案。不知道为什么?
int ... 阅读全帖
c**b
发帖数: 2999
44
来自主题: Programming版 - 这个程序怎么解决
都用到c++了,怎么还用一些c的东西? 比如那个index()2个参数,直接用array不就行了,
为什么要用指针呢.尽管这样也对,但是太复杂.简单点,干脆用pass by reference,连指针也不用了.答案确实是对的而且构思很简单.我能想到的算法比答案差点,但是逻辑更清晰些:
int index(char s[],char t[])
{
int i,j,k,foundIt=-1;
for(i=0;s[i] != '\0';i++)
for (j=i,k=0;t[k] != '\0';j++,k++)
if (s[j] != t[k])
foundIt = -1;
else foundIt = i;
return foundIt;
}


编写函数int index(char *s, char *t),返回字符串t 在字符串s中出现的最左边的
位置,
如果在s中没有与t匹配的子串,就返回-1。
#inc... 阅读全帖
N**********d
发帖数: 9292
45
来自主题: Programming版 - 问个缺少逗号的数组赋值问题
源程序是:
#include
#include
using namespace std;
int main(int argc, char * argv[])
{
std::string m_ColumnName [] =
{
"str1",
"str2"
"last_one"
};
cout << m_ColumnName[0].substr(0,4) << endl;
cout << m_ColumnName[1].substr(0,4) << endl;
cout << m_ColumnName[2].substr(0,4) << endl;
return 0;
}
赋值的时候,"str2"后面少了个逗号,然后"last_one"到哪里去了?
是不是g++直接就把它扔了?
前两行输出都是预期的
str1
str2
而第三行则不确定,经常产... 阅读全帖
c*********e
发帖数: 16335
46
来自主题: Programming版 - 问题的根源找到了
俺很少用hashcode()比较2个object.
网上抄的一個例子
public static void main(String[] args) {
String str1 = "0-42L";
String str2 = "0-43-";
System.out.println("String equality: " + str1.equals(str2));
System.out.println("HashCode eqauality: " + (str1.hashCode() == str2.
hashCode()));
}
String equality: false
HashCode eqauality: true
h****a
发帖数: 580
47
用两个斜杠://
例如:
character*50 str1,str2
str1='hijklmn'
str2='abcdefg'//str1//'opqrst'
str2的值是'abcdefghijklmnopqrst'
s********g
发帖数: 28
48
来自主题: JobHunting版 - onsite遇到的几个面试题
CS方向,希望对大家准备面试有帮助
1. 用stack class来实现queue,具体用几个stack不限。完了以后问怎么实现thread
safety,然后是怎么测试。
2. 实现strstr(str1, str2),如果str2是str1的子串,返回true,否则返回false。实
现完了以后问如何测试。
3. 给定一个integer array with both positive and negative numbers,return a
contiguous subarray with the largest sum. 我本来想用dynamic programming实现
,但面试官希望按照他的一个更heuristic的思路来解,最后勉强搞定。
4. 给定一个排好序的linked list,删除其中所有的重复元素。比如给定1->2->3->3->
4->4->5,返回1->2->5。给定1->1->1->2->3,返回2->3。看起来简单,一边写一边发
现许多细节需要小心应对,好在最后搞定。
5. 给你三个烤箱,每个烤箱可以同时烤两片面包,需要的时间分别是3分钟,4分钟和3
H*M
发帖数: 1268
49
来自主题: JobHunting版 - 一个基本的string问题
const char* st = "string1";
char str2[] = "string2"
What is the diff.?
我说是st不能改变"string1", string1是string literal放在data segment str2就可以
改变,string2是放在stack
如果写成char* str = "string1"是不对的.可是MS Studio居然可以通过编译。谁帮我澄
清下我理解有误吗?谢了。
f********3
发帖数: 38
50
来自主题: JobHunting版 - 问个问题binary search 的变体
careercup 上有这个题 的答案
如果碰到空的str怎么办,找下一个非空的str,这样worst case就是o(n)不是o(logn)了
search(int start,int end){
mid=(start+end)/2;
while(str[mid]==' ') {mid++;}
r=strcmp(str1[mid+1,mid+1+str2.length()],str2);
if(r==0) return mid;
else if(r<0) search(mid+1,end);
else search(start,mid-1);
}
1 2 3 下页 末页 (共3页)