多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > 互聯(lián)網(wǎng) > 2014年阿里巴巴校園招聘算法大題

2014年阿里巴巴校園招聘算法大題

來(lái)源:程序員人生   發(fā)布時(shí)間:2014-09-09 09:37:22 閱讀次數(shù):2920次

有一個(gè)quary和text要求找出兩者匹配最長(zhǎng)的字符串的長(zhǎng)度:

/** * 利用KMP解決求最長(zhǎng)匹配長(zhǎng)度 * * @author 曾修建 * @version 創(chuàng)建時(shí)間:2014-8-29 下午07:43:36 */? public class ALTest { /** * KMP匹配字符串 * * @param s 主串 * @param t 模式串 * @return 若匹配成功,返回能匹配到的最長(zhǎng)長(zhǎng)度 */ public static int KMP_Index(char[] s, char[] t) { int[] next = next(t); int i = 0; int j = 0; int maxLength = 0; //記錄能匹配最長(zhǎng)的長(zhǎng)度 while (i <= s.length - 1 && j <= t.length - 1) { if (j == -1 || s[i] == t[j]) { i++; j++; maxLength = i; } else { j = next[j]; } } return maxLength; } public static int[] next(char[] t) { int[] next = new int[t.length]; next[0] = -1; int i = 0; int j = -1; while (i < t.length - 1) { if (j == -1 || t[i] == t[j]) { i++; j++; if (t[i] != t[j]) { next[i] = j; } else { next[i] = next[j]; } } else { j = next[j]; } } return next; } public static void main(String[] args) { char []query = {'c','b','a'}, text={'a','c','a','c','c','b','a','b','b'}; System.out.println("能匹配到最長(zhǎng)的長(zhǎng)度是: "+KMP_Index(query,text)); } }



1/寫一個(gè)函數(shù),輸入一個(gè)二叉樹,樹中每個(gè)節(jié)點(diǎn)存放了一個(gè)整數(shù)值,函數(shù)返回這棵二叉樹中相差最大的兩個(gè)節(jié)點(diǎn)間的差值絕對(duì)值。請(qǐng)注意程序效率。

#include <iostream>

 

using namespace std;

 

struct Node

 

{

Node *left;

 

Node *right;

};

 

struct Detail

 

{

int Distance;

 

int Depth;

};

 

Detail GetMaxDistance(Node* root)

 

{

if (!root)

{

Detail empty = { 0, -1 };   

 

return empty;

}

 

Detail lhs = GetMaxDistance(root->left);

Detail rhs = GetMaxDistance(root->right);

Detail Detail;

Detail.Depth = max(lhs.Depth + 1, rhs.Depth + 1);

Detail.Distance = max(max(lhs.Distance, rhs.Distance), lhs.Depth + rhs.Depth + 2);

return Detail;

 

}

void Link(Node* nodes,int parent,int left,int right)

{

if(left != -1)

nodes[parent].left = &nodes[left];

if(right != -1)

nodes[parent].right = &nodes[right];

}

void main()

{

Node test[9] = { 0 };

Link(test, 0, 1, 2);

Link(test, 1, 3, 4);

Link(test, 3, 5, 6);

Link(test, 5, 7, -1);

Link(test, 6, -1, 8);

 

cout <<"test:  "<< GetMaxDistance(&test[0]).Distance << endl;

}

 

2Javasleep()wait()區(qū)別

功能差不多,都用來(lái)進(jìn)行線程控制,他們最大本質(zhì)的區(qū)別是:

(1)sleep()不釋放同步鎖,wait()釋放同步鎖,使得其他線程可以使用同步控制塊或者方法   

    

(2)sleep(milliseconds)可以用時(shí)間指定來(lái)使他自動(dòng)醒過(guò)來(lái),如果時(shí)間不到你只能調(diào)用interreput()來(lái)強(qiáng)行打斷;

wait()可以用notify()直接喚起.

 

(3)這兩個(gè)方法來(lái)自不同的類分別是Thread和Object

 

(4)wait只能在同步控制方法或者同步控制塊里面使用,而sleep可以在任何地方使用

 

(5)sleep必須捕獲異常,而wait不需要捕獲異常

 


 

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 欧美性videostv极度另类 | 国产欧美综合一区二区 | 亚洲一区二区三区高清视频 | 最近最新中文字幕在线第一页 | 国产成人免费视频精品一区二区 | 欧美黑人两根巨大挤入 | 国产成人三级视频在线观看播放 | 中文字幕日韩一区 | 国产精品久久永久免费 | 亚洲国产精品影院 | 一区二区不卡视频 | 美女上床网站 | 国产视频一 | 国产亚洲精品久久久久久牛牛 | 欧美精品久久久久久久久大尺度 | 18jzz大全中文 | 国产精品v欧美精品v日本精 | 在线亚洲欧国产精品专区 | 国产免费久久精品44 | 美国xxxx69 | 久久www免费人成_看片高清 | 国产精品不卡片视频免费观看 | 成人免播放器午夜视频 | 中国在线播放精品区 | 国内精品久久影视 | 黄站在线观看 | 久久大香伊蕉在人线国产联合 | 最近中文字幕在线观看 | xxxx毛片| 德国女人一级毛片免费 | 日韩精品国产一区 | 久久国产欧美另类久久久 | 一本大道道香蕉免费 | 99999久爱视频在线观看 | 欧美猛交xxxxx| 日韩亚洲欧美综合 | 天天噜天天爽在线视频 | 韩日一区二区三区 | 欧美一级毛片日本 | 777欧美| 午夜爱爱网|