s********u 发帖数: 1109 | 1 Phone interview,美国人,说话很清楚。不过太健谈了,导致他每次描述问题,说一
大堆,还各种打比方,要搞清楚whole picture真是太费劲了。。
不过人比较nice,希望好运吧。
1.他说warm up一下,说了一大堆,我才搞明白他的意思是,电影里经常有人拿报纸剪
下很多字母,然后拼成一句话去给别人发威胁message之类。(他一上来就说kidnap小
女孩之类,把我吓坏了,以为要写个绑匪和cops的design题。。。。)
然后让我实现一个function,看看能不能拼成一个message。
因为时间过了挺久,我就有点着急,赶紧写了一个hashtable的方法。然后他问我如果
这个message有重复单词怎么办,我才发现自己的bug(只是考虑newspaper里有没有这
个字母,而没有考虑字母的数量),改了一下。
bool compose( string msg, string newspaper){
unordered_map ccnt;
for(auto it = newspaper.begin(); it != newspa... 阅读全帖 |
|
a******e 发帖数: 710 | 2 2.他说他也是听说来的这道题,又是讨论描述了N久才搞明白,还跟我扯你知道为啥美
国分成这48个州么。。。比如给一个矩阵
1 2 2 3 (5)
3 2 3 (4) (4)
2 4 (5) 3 1 Atlantic
(6) (7) 1 4 5
(5) 1 1 2 4
#####请问括号里面的数字是什么意思?
每个数字代表该地区的海拔,然后西边是太平洋,东边是大西洋,让我返回所有path,
每个path能连通大西洋和太平洋,水只能从高处往低处走。
我到最后才发现他这个例子好像有点不对(他说他也不是很清楚,别人给他的。。汗)
,我觉得真正的意思应该是水流是单向的,否则岂不是随便怎么走都能连通??
#####若问这里提到的backtracking和recursion有何不同? 我一直不太了解
backtracking
我就用backtracking的方法,有点类似boggle game那题,从西海岸的点出发,往8个方
向走,如果没超出边界或者没用过,就走下去,直到到达东海岸,把这个路径存下来。
电面结束我才发现我有个bug,就是说,到达东海岸的时候不应该return,... 阅读全帖 |
|
s********u 发帖数: 1109 | 3 Phone interview,美国人,说话很清楚。不过太健谈了,导致他每次描述问题,说一
大堆,还各种打比方,要搞清楚whole picture真是太费劲了。。
不过人比较nice,希望好运吧。
1.他说warm up一下,说了一大堆,我才搞明白他的意思是,电影里经常有人拿报纸剪
下很多字母,然后拼成一句话去给别人发威胁message之类。(他一上来就说kidnap小
女孩之类,把我吓坏了,以为要写个绑匪和cops的design题。。。。)
然后让我实现一个function,看看能不能拼成一个message。
因为时间过了挺久,我就有点着急,赶紧写了一个hashtable的方法。然后他问我如果
这个message有重复单词怎么办,我才发现自己的bug(只是考虑newspaper里有没有这
个字母,而没有考虑字母的数量),改了一下。
bool compose( string msg, string newspaper){
unordered_map ccnt;
for(auto it = newspaper.begin(); it != newspa... 阅读全帖 |
|
a******e 发帖数: 710 | 4 2.他说他也是听说来的这道题,又是讨论描述了N久才搞明白,还跟我扯你知道为啥美
国分成这48个州么。。。比如给一个矩阵
1 2 2 3 (5)
3 2 3 (4) (4)
2 4 (5) 3 1 Atlantic
(6) (7) 1 4 5
(5) 1 1 2 4
#####请问括号里面的数字是什么意思?
每个数字代表该地区的海拔,然后西边是太平洋,东边是大西洋,让我返回所有path,
每个path能连通大西洋和太平洋,水只能从高处往低处走。
我到最后才发现他这个例子好像有点不对(他说他也不是很清楚,别人给他的。。汗)
,我觉得真正的意思应该是水流是单向的,否则岂不是随便怎么走都能连通??
#####若问这里提到的backtracking和recursion有何不同? 我一直不太了解
backtracking
我就用backtracking的方法,有点类似boggle game那题,从西海岸的点出发,往8个方
向走,如果没超出边界或者没用过,就走下去,直到到达东海岸,把这个路径存下来。
电面结束我才发现我有个bug,就是说,到达东海岸的时候不应该return,... 阅读全帖 |
|
r******g 发帖数: 138 | 5 出来混了6年,想换换环境。可能是因为local,google没有给我电面直接onsite了。自
己感觉onsite表现还不错,但是还是被拒。我就简单把题目分享给大家吧。面的Java
position。所以写的都是java code。
1. 白人。
a. 设计自己的一个Iterator class。 constructor输入的是List. 实现一
个method: Object getNext(); 每次得出的结果如下。
加入输入是
Iterator1: a, b, c, d, e
Iterator2: f, g, h, i, j
getNext() 出来的顺序是 a, f, b, g, c, h, d, i, e, j
写完代码后直接问我time complexity 然后就move on下一个题了。。。也没有跟我
discuss还是walk through一下code。
b. 问我在什么情况下选择n^2的复杂度而不是nlogn. Open ended question。
c. f(string a, string op, string b), 要我写出各种tes... 阅读全帖 |
|
f*******l 发帖数: 66 | 6 #include
#include
using namespace std;
bool isValid( char currentChar,int x, int y, int columnSize, int
rowSize,
char desiredChar, bitset <20> mybitset )
{
if(x < 0 || x > columnSize || y < 0 || y > rowSize )
{
return false ;
}
if ( mybitset[x*columnSize+y] == 1 )
{
return false;
}
if ( currentChar != desiredChar)
{
return false ;
}
return true ;
}
bool moveforward( int rowSize, int columnSize, char Array[][4], int... 阅读全帖 |
|
B********t 发帖数: 147 | 7 我写了一个,不过第一个判断回文的地方我不知道怎么用dp,还是说没法用?不过不改
变总的时间复杂度
class Solution {
public:
bool isPalindrome(string s)
{
int start = 0, end = s.size() - 1;
while(start < end)
if(s[start++] != s[end--])
return false;
return true;
}
int minCut(string s) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
vector dp(s.size(), INT_MAX);
vector> isValid(s.size(), vector<... 阅读全帖 |
|
B********t 发帖数: 147 | 8 我写了一个,不过第一个判断回文的地方我不知道怎么用dp,还是说没法用?不过不改
变总的时间复杂度
class Solution {
public:
bool isPalindrome(string s)
{
int start = 0, end = s.size() - 1;
while(start < end)
if(s[start++] != s[end--])
return false;
return true;
}
int minCut(string s) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
vector dp(s.size(), INT_MAX);
vector> isValid(s.size(), vector<... 阅读全帖 |
|
o****i 发帖数: 1706 | 9 【 以下文字转载自 Programming 讨论区 】
发信人: ouyadi (可乐会捂帮帮众), 信区: Programming
标 题: Java代码,老是compile出错,大家帮我看看哪错了。。。
发信站: BBS 未名空间站 (Wed Apr 27 16:58:23 2011, 美东)
我在git上push到学校的服务器后编译老是不通过,错误如下,麻烦大家帮我查下原因
,谢谢啦!
javac -classpath /usr/share/junit/lib/junit.jar -d classes -sourcepath .
Iterator.java List.java TestUpTree.java UpTree.java
UpTree.java:34: type Iterator does not take parameters
public class NIterator implements Iterator{
^
UpTree.java:104: type Iterator does not take parameters
pub... 阅读全帖 |
|
o****i 发帖数: 1706 | 10 我在git上push到学校的服务器后编译老是不通过,错误如下,麻烦大家帮我查下原因
,谢谢啦!
javac -classpath /usr/share/junit/lib/junit.jar -d classes -sourcepath .
Iterator.java List.java TestUpTree.java UpTree.java
UpTree.java:34: type Iterator does not take parameters
public class NIterator implements Iterator{
^
UpTree.java:104: type Iterator does not take parameters
public class SetIterator implements Iterator{
^
TestUpTree.java:51: type Iterator does not take parameters
Iterator it = up.m... 阅读全帖 |
|
c******t 发帖数: 391 | 11 判断回文那题,照着思路写了一个,不知道对不对,请指点:
public static boolean checkPalindrome(String str){
str = str.toLowerCase();
int i = 0;
int j = str.length()-1;
while(i
while(!isValid(str.charAt(i)))
i++;
while(!isValid(str.charAt(j)))
j--;
if(str.charAt(i)!=str.charAt(j))
return false;
i++;
j--;
}
return true;
}
public static boolean isValid(char ch){
if((ch>='0'&&ch<='9')||(ch>='a'&&ch<='z'))
retu... 阅读全帖 |
|
c***w 发帖数: 134 | 12 请问一道题,我的程序就是不能全过large test case。
代码如下:
public class Solution {
public boolean isPalindrome(String s) {
// Start typing your Java solution below
// DO NOT write main() function
if (s == null) {
return false;
}
if (s.length() == 0) {
return true;
}
s = s.toLowerCase();
int start = 0;
int end = s.length() - 1;
while (start <= end) {
char first = s.c... 阅读全帖 |
|
r*******e 发帖数: 7583 | 13 验证括号:一个变量记录open的括号数
bool isValid(string &s, int curPos, int nOpen) {
if (curPos == s.size()) return (nOpen == 0);
if (s[curPos] == '(') {
++nOpen;
} else if (s[curPos] == ')') {
--nOpen;
}
if (nOpen < 0) return false;
return isValid(s, curPos + 1, nOpen);
}
调用:
string s = input();
return isValid(s, 0, 0);
如下 |
|
l**********i 发帖数: 84 | 14 面了1小时15分,前几题感觉不错,结果被问到tcp vs udp的时候根本不知道是啥玩意
儿,估计是悲催了。哎,题目如下:
1.Can you talk a little about yourself first?
2.Why do you choose p?
3.Difference between linkedlist and array
4.In what condition do you use tree structure? How do you keep them balanced?
5.TCP protocol vs UDP protocol (have no idea)
6.How do you implement a hash table?
following up question:
Data structure; size; hashfunction; linkedlist vs hashtable in dealing with
collision
7.coding
print spiral matrix
Given a matrix of m x n elem... 阅读全帖 |
|
w*****j 发帖数: 226 | 15 用自动机写的
求批判
个人觉得自动机的好处是可视化,只要图画对,代码不容易写错
corner case看得也比较清楚
enum State
{
ErrorState
{
@Override
public boolean isValid() { return false; }
},
EndState,
StartState
{
@Override
public State readDigit() { return DigitState; }
@Override
public State readPlus() { return PlusState; }
@Override
public State readMinus() { return MinusState; }
@Override
public State readPoin... 阅读全帖 |
|
w*****j 发帖数: 226 | 16 用自动机写的
求批判
个人觉得自动机的好处是可视化,只要图画对,代码不容易写错
corner case看得也比较清楚
enum State
{
ErrorState
{
@Override
public boolean isValid() { return false; }
},
EndState,
StartState
{
@Override
public State readDigit() { return DigitState; }
@Override
public State readPlus() { return PlusState; }
@Override
public State readMinus() { return MinusState; }
@Override
public State readPoin... 阅读全帖 |
|
a******n 发帖数: 103 | 17 bool isPalindrome(string s) {
return help(s,0,s.size()-1);
}
bool help(string &s, int left, int right){
if (left>=right)
return true;
while (left
left++;
}
while (right>=0 && !isValid(s,right))
right--;
return (s[left]==s[right] || abs(s[left]-s[right])=='a'-'A') && help
(s, left+1,right-1);
}
bool isValid(string & s, int i)
{
if ((s[i]>='0' && s[i]<='9')... 阅读全帖 |
|
i**********e 发帖数: 1145 | 18 这题作为面试题应该考察的就是基础 DFS 和 coding skills,如果要智能的话在面试那么短的时间内是写不出来的。
这题思路不难的,只是 coding 方面要注意,不要出错就行。基本思路就是先实现 isValid() 函数,检测这个 board 是否valid。然后,找出第一个空格内填 1-9,如果 isValid() 的话继续 DFS,直到没有空格为止(那就是找到答案了)。要注意函数返回之前把空格还原。
这个函数:
private boolean pass(int[][] matrix)
里面用了一些重复的代码,可以 refactor 成更简洁些,也可以减少错误发生的机率:
private boolean passHelper(int [][] matrix, int startRow, int startCol, int
endRow, int endCol)
这样你在 pass 函数里只要传叫 passHelper() 三次即可。
1)startRow = 0, startCol = col, endRow = 8, endCol = col { for col = 0... 阅读全帖 |
|
c*********t 发帖数: 2921 | 19 ihasleetcode,
这个sodoku solver到底是什么个问题?
是说生成所有的sodoku的9*9矩阵?那样的组合可就太多了。
还是说给了一个没有填满的9*9矩阵,解决去填空缺的数字?
还是说给了一个填满的9*9矩阵,判断是不是个有效的solution?
到底是这三者中的哪一个?
谢谢!
试那么短的时间内是写不出来的。
isValid() 函数,检测这个 board 是否valid。然后,找出第一个空格内填 1-9,如果
isValid() 的话继续 DFS,直到没有空格为止(那就是找到答案了)。要注意函数返
回之前把空格还原。
int
8 }
>8 |
|
f*******t 发帖数: 7549 | 20 写了一下,牛算法实现和理解起来挺简单的
import java.util.PriorityQueue;
public class RainWater2D {
private final int[][] directions = {
{1, 0}, {0, 1}, {-1, 0}, {0, -1}
};
private int width, height;
private class Point implements Comparable {
public int x, y, h;
public Point(int y, int x, int h) {
this.y = y;
this.x = x;
this.h = h;
}
@Override
public int compareTo(Point p) {
return h >... 阅读全帖 |
|
w***y 发帖数: 6251 | 21 要怎么做才能不超时?
我就是按照传统的N queens写法, 但是大集合到12就超时了
public class Solution {
int res=0;
public int totalNQueens(int n) {
int[] row = new int[n];
res=0;
_solveNQueens(row,0);
return res;
}
public void _solveNQueens(int[] row, int idx){
//when it finishes the last row, output the valid result
if(idx==row.length){
res++;
return;
}
... 阅读全帖 |
|
H******7 发帖数: 1728 | 22 class Solution {
public:
int res;
bool isValid(int A[], int r){
for (int i=0;i
if ( (A[i]==A[r])||(abs(A[i]-A[r])==(r-i))){
return false;
}
}
return true;
}
void nqueens(int A[], int cur, int n){
if (cur==n){ res++;return;}
else{
for (int i=0;i
A[cur]=i;
if (isValid(A,cur)){
nqueens(A,cur+1,n);
}
... 阅读全帖 |
|
Y**G 发帖数: 1089 | 23 react.js
class Point {
int x;
int y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
public boolean equals(Object other) {
return (other instance Point) && ((Point)oher).x == this.x && ((
Point)oher).y == this.y;
}
}
boolean isValid(Point p) {
return (p.x >= 0 && p.x < 8 && p.y >= 0 && p.y < 8);
}
Point delta(Point p, int deltaX, int deltaY) {
new Point(p.x + deltaX, p.y + deltaY);
}
f(p1, p2, k) {
if (k == 0) {
return p1... 阅读全帖 |
|
d********i 发帖数: 582 | 24 看到一个答案,可以用一个for loop来检测sudoku 是否valid。
但是dan实在看不懂这句话: board[row / 3 * 3 + i / 3][col / 3 * 3 + i % 3] ==
num
不知道为什么可以check 3 * 3 blocks, 一会除一会乘一会求余,把我看晕。有能帮
忙解释下么?
public static boolean isValidSudoku(char[][] board) {
for (int i = 0; i < board.length; i++) {
for (int j = 0; j < board.length; j++) {
if (board[i][j] != '.') {
if (!isValid(board, board[i][j], i, j)) {
return false;
}
... 阅读全帖 |
|
发帖数: 1 | 25 简化版只输出一个答案可以用counter做。
如果是301原题输出所有解那就要dfs了,dfs比bfs省空间,并且不需要set来去重,看
起来更elegant。DFS之前要先count一下需要删除多少个。时间复杂度是O(N^k), k是需
要删除的括号数。当然是需要删除的越多,解就越多,复杂度就越高。上code:
class Solution {
public List removeInvalidParentheses(String s) {
int leftRemove = 0;
int rightRemove = 0;
int open = 0;
for (int i = 0; i < s.length(); ++i) {
char cur = s.charAt(i);
if (cur == '(') {
open++;
} else if (cur == ')') {
... 阅读全帖 |
|
发帖数: 1 | 26 public class Solution {
public List removeInvalidParentheses(String s) {
List res = new ArrayList<>();
Queue queue = new LinkedList<>();
Set checked = new HashSet<>();
boolean found = false;
int max = 0;
queue.add(s);
while (!queue.isEmpty()) {
String t = queue.remove();
if (isValid(t)) {
found = true;
if (t.length() >= max && !res.contains(t)) {
... 阅读全帖 |
|
N******K 发帖数: 10202 | 27 p1= new (objectA);
delete p1;
p2= new (objectA);
这时候 p1的值和p2的值是一样的 但是 两个指针代表了两个实例 尽管都属于同一类
这样 IsValid(p2) 会返回 ture 但是 IsValid(p1)也会返回true
如果有一个类似weak_ptr的 但是不用lock 能直接用的智能指针就好了
可以用 shared_ptr() 把deletor 给设置为空操作
其实需要的是 handle_ptr
std::handle_ptr hp(new ObjectA)
std::shared_ptr sp=hp; 就可以进行转换 |
|
I**A 发帖数: 2345 | 28 MIT 那个 hack google interview 上给的code,是不是有问题?
boolean isValid(Node root) {
return isValidHelper(root, Integer.MIN_VALUE,
Integer.MAX_VALUE);
}
boolean isValidHelper(Node curr, int min, int max) {
if (curr.left != null) {
if (curr.left.value < min ||
!isValidHelper(curr.left, min, curr.value))
return false;
}
if (curr.right != null) {
if (curr.right.value > max ||
!isValidHelper(curr.right, curr.value, max))
return false;
}
return true;
} |
|
e***l 发帖数: 710 | 29 如果主函数这么调用helper就不会有null的情况,你看看书上怎么写的
boolean isValid(Node root){
if(root==null) return true;
else return isValidHelper(root, INT_MIN, INT_MAX);
} |
|
K*****k 发帖数: 430 | 30 可惜,Hacking a G Interview没能像你那样写
boolean isValid(Node root) {
return isValidHelper(root, Integer.MIN_VALUE,
Integer.MAX_VALUE);
} |
|
l*********8 发帖数: 4642 | 31 恩,看了北京二哥的程序,发现的确应该设置个isValid标志 |
|
i**********e 发帖数: 1145 | 32 顶!
这个状态只需用 O(N^3) 的空间来保存就行,复杂度是 O(N^4)。
假设 (i,j) 分别为 s1 和 s2 的开始 index,n 为子串的长度,k 是把字串分成两个
子串的 pivot point (k = 1 ... n-1):
F(i, j, n) = F(i+n-k, j, k) && F(i, j+k, n-k) ||
F(i, j, n-k) && F(i+n-k, j+n-k, k)
base case 为 F(i, j, 1) == true, iff s1[i] == s2[j]
然后 bottom-up 建立表,从所有 F(i, j, 2) --> F(i, j, len),len = s1 长度。
那么答案就是 F(0, 0, len).
以下是非递归的 bottom-up DP 代码,空间复杂度 O(N^3),时间复杂度 O(N^4).
bool isValid(string s1, string s2) {
int len = s1.length();
bool dp[64][64][64] = {f... 阅读全帖 |
|
p*****2 发帖数: 21240 | 33
随便写了一个,不过没 怎么调呀。大概这个意思。
HashMap hm = new HashMap();
int isValid(char[] arr)
{
Stack stack = new Stack();
for (int i = 0; i < arr.length; i++)
{
if (arr[i] == '(')
stack.push(i);
else if (arr[i] == ')')
{
if (stack.isEmpty())
return -1;
hm.put(stack.pop(), i);
}
}
if (!stack.is... 阅读全帖 |
|
b*******d 发帖数: 750 | 34 是个start up,不说名字了,不太好。
题目并不是太难。服务器端接受用户的刷卡服务。
customer1 使用了card1 make了一个purchase
customer2 使用了card2 make了一个purchase
customer3 使用了card1 make了一个purchase
customer1 使用了card2 make了一个purchase
。。。
这是个graph,里面有customer node和card node,上边的客户1 2 3 都是related
customer (connected in the graph)。
设计一个类,query customer id,返回所有related customer;添加一个新的
purchase (就是一个新的customer+card pair),能很快的将其index了。
我的做法是:所有connected 的customer构成一个cluster,created一个cluster id,
Map> M1 表达 (clusterId,customers)。
... 阅读全帖 |
|
l***m 发帖数: 339 | 35 首先我不是很会java啊。。不过我知道你这个代码有点问题,比如 输入是 “,” ,你
返回true,就不对了,因为他是无效得,得返回false。 还有一个问题,就是
while(!isValid(str.charAt(i)))
: i++;
这个做完以后你要判断是不是i j, 比如",,,,,,!",这种一直没有
valid得,这样就不对了。。
不过感觉用java写果然容易很多啊,至少可以都转成小写字母。 |
|
Y**3 发帖数: 21 | 36 void BackTrack(vector > &board,int k,bool& bFindOne)
{
if(k>=81)
{
bFindOne=true;//find a solution
return;
}
int row=k/9;
int col=k%9;
if(isdigit(board[row][col]))//already set
BackTrack(board,k+1,bFindOne);
else
{
for(int i=1;i<=9;i++)
{
board[row][col]=i+'0';
if(isValid(board,row,col))
BackTrack(boar... 阅读全帖 |
|
s********s 发帖数: 49 | 37 isvalid 里面 A-Z也应该是valid的吧 |
|
r*******e 发帖数: 7583 | 38 你这个isValid明显做了很多重复比较
只需要检查row[idx] 跟 row[1..idx-1]是否冲突,一层循环就够了
-i) |
|
w***y 发帖数: 6251 | 39 多谢楼上的各位,改了isValid就可以过了
我回头再去学习一下更优化的解法 |
|
a*****a 发帖数: 46 | 40 题目是说用递归取代循环,如果是多种括号的话,即使递归也得用stack吧。虽然递归
自己就有stack,但是这里左右括号的处理不同,右括号的话需要pop,所以我觉得还是
得用stack。
用java写了一下,欢迎指正
private boolean isValidHelper(String s, int cur, Stack stack) {
if (cur == s.length()) return stack.isEmpty();
char c = s.charAt(cur);
switch (c) {
case '(':
case '[':
case '{':
stack.push(c);
break;
case ')':
if (stack.isEmpty() || stack.pop() != '(') return false;
break;
case ']':
if (stack.isEmpty() || stack.pop() ... 阅读全帖 |
|
c********p 发帖数: 1969 | 41 是不是不能用同一个解法?
用solver的那个,过不了isvalid的oj,超时。。。。 |
|
S******n 发帖数: 132 | 42 你没次isvalid要从当前节点开始算,不能从0,0点开始吧?
我之前也是这样没过,小改一下 |
|
w******j 发帖数: 185 | 43 public int minCut(String s) {
// Start typing your Java solution below
// DO NOT write main() function
if(isvalid(s)) return 0;
int min = Integer.MAX_VALUE;
for(int i = 0; i < s.length() - 1; i++)
{
int cut = minCut(s.substring(0, i + 1)) + minCut(s.substring(i +
1)) + 1;
min = Math.min(min, cut);
}
return min;
}
这样行吗 |
|
s*w 发帖数: 729 | 44 在某一步看起来 valid 的 sudoku 最终可能有解,也可能无解。有没有解,解完才知
道。
这个题目表诉不大清楚。应该问 isInvalidNow, 而不是 isValid 有歧义
,9 |
|
z*********e 发帖数: 10149 | 45 谢谢指正,我本来的想法是,完成到某一步的sudoku,其实都可以是一个新的sudoku题
目,那么这个isInvalidNow,跟!isValid是同样的一个问题。
如果不解完sudoku不能判断有解无解的话,那leetcode上的这个valid sudoku题目就有
问题了吧 |
|
m*******4 发帖数: 34 | 46 请教个问题,我自己写了段sudoku solver的代码,不知道哪里错了,输出结果到txt文
件后,board上居然还有x.这题网上有更好的解法,但我就想搞懂自己哪里错了。这题
也不好用debug模式来查,实在看不出来了,做过的大家帮忙参谋一下吧,谢啦:
-----------code------------
public static boolean solve( String[][] board, int row, int col ) {
for( int i = row; i < SIZE; i++ ) {
for( int j = col; j < SIZE; j++ ) {
if( board[i][j].equals( "x" ) ) {
for( int k = 1; k <= SIZE; k++ ) {
board[i][j] = k + "";
if( isVal... 阅读全帖 |
|
s**x 发帖数: 7506 | 47 我的想法, 极其简单, I could not find anything wrong, I found most of the
solutions are difficult to write and easy to make mistakes.
you can finish the following in less than 5 minutes and most importantly
hard to make mistakes.
bool isValide(char *string)
{
char *p = string;
if (p == NULL) return false;
p += skipWhiteSpaces(p);
p += skipSigns(p);
int n1 = skipDigits(p);
p+= n1;
if (*p == '.') p++;
int n2 = skipDigits(p);
if (n1 == 0 && n2 == 0) return false;
if (*p == ... 阅读全帖 |
|
b**********5 发帖数: 7881 | 48 G家是悲剧了好多次了。 每次都遇到这种难题。 有哪个真能人说说到底怎么做?
我就是用soduku II的方法做, DFS加isValid。 然后要满足第二个条件的话, 就一
开始在(0,0),(1,0), (1,1) set to the same color, 然后再DFS
能人说说这对不对啊? 面试官也没说不对。 就让我写。。。 然后我问feedback,
recruiter说不能share feedback。。。。
random有怎么做呢? |
|
|
b******n 发帖数: 552 | 50 Implement一下:
int Foo()
{
if(!手枪.无声
&& Int.Parse(手枪.分贝)>=80
&& Int.Parse(手枪.分贝)<=100
&& 人.耳朵.震疼()
&& !法律.IsValid(打鸟)
&& 鸟.IsDead(中枪)
&& !鸟.聋子
&& 鸟.智商>200
&& !鸟.关在笼子里
&& Environment.树.Count() == 1
&& !鸟.残疾
&& !鸟.饿
&& 鸟.gender==公
&& !打鸟的人.Is眼花
&& 鸟.怕死
&& !鸟.Gay
&& 一枪打死一只鸟
&& 鸟.自由飞
&& 鸟.HasGPS
&& Words.IsTrue(老师的回答,CultureInfo.InVariant))
return (死鸟挂在树上) ? 1:0;
} |
|