热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php获取中文拼音首字母类和函数分享_php实例

这篇文章主要介绍了php获取中文拼音首字母类和函数,需要的朋友可以参考下
一、公司同事整理的类,挺实用的.相信拿出来分享下他不会介意的O(∩_∩)O.不过如果首字母是数字或英文会有些问题.

代码如下:


/**
* Helper_Spell 汉字拼音首字母工具类
*
* @category Helper
* @package Helper_Spell
* @author Lancer
* @version 1.0
* @see Translation_Big2gb
*/

class Helper_Spell {
/**
* $_pinyins
* @var array
* @access private
*/
private $_pinyins = array(
176161 => 'A',
176197 => 'B',
178193 => 'C',
180238 => 'D',
182234 => 'E',
183162 => 'F',
184193 => 'G',
185254 => 'H',
187247 => 'J',
191166 => 'K',
192172 => 'L',
194232 => 'M',
196195 => 'N',
197182 => 'O',
197190 => 'P',
198218 => 'Q',
200187 => 'R',
200246 => 'S',
203250 => 'T',
205218 => 'W',
206244 => 'X',
209185 => 'Y',
212209 => 'Z',
215249 => 'Z',
);


/**
* $_charset
* @var string
* @access private
*/
private $_charset = null;

/**
* __construct 构造函数, 指定需要的编码 default: utf-8 支持utf-8, gb2312
*
* @param unknown_type $charset
*/
public function __construct( $charset = 'utf-8' ) {
$this->_charset = $charset;
}

/**
* getInitialsFirst 返回首个汉字的拼音
*
* @access public
* @static
* @param string $str
* @return string
* @example Helper_Spell::getInitialsFirst('我的爱'); => w
*/
public static function getInitialsFirst( $str, $charset = 'utf-8' ) {
$chars = array(
'A','B','C','D','E','F',
'G','H','I','J','K','L',
'M','N','O','P','Q','R',
'S','T','U','V','W','X',
'Y','Z');


$string = self::getInitials( $str );
$length = strlen($string);


for($i=0; $i <$length; $i++) {
if ( in_array( $string{$i}, $chars ) ) {
return $string{$i};
}
}
return '*';
}


/**
* getInitials 返回拼音组合
*
* @access public
* @static
* @param string $str
* @return string
* @example Helper_Spell::getInitials('我的爱'); => wda
*/
public static function getInitials( $str, $charset = 'utf-8' ) {
$instance = new Helper_Spell( $charset );
return $instance->_getInitials( $str );
}


/**
* _getInitials 获取中文字串的拼音首字符
* 注:英文的字串:不变返回(包括数字) eg .abc123 => abc123
* 中文字符串:返回拼音首字符 eg. 王小明 => WXM
* 中英混合串: 返回拼音首字符和英文 eg. 我i我j => WIWJ
*
* @access private
* @param string $str
* @return string
*/
private function _getInitials( $str, $translation=TRUE ){
if ( empty($str) ) return '';
if ( $this->_isAscii($str[0]) && $this->_isAsciis( $str ))
return $str;

if ( $translation )
$str = Translation_Big2gb::big2gb( $str );

$result = array();
if ( $this->_charset == 'utf-8' ){
//IGNORE很重要,加上这个就可以是ICONV()函数忽略错误,继续执行
$str = iconv( 'utf-8', 'gbk//IGNORE', $str );
}
$words = $this->_cutWord( $str );


foreach ( $words AS $word ) {
if ( $this->_isAscii($word) ) {//非中文
$result[] = $word;
continue;
}
$code = ( ord(substr($word,0,1)) ) * 1000 + (ord(substr($word,1,1)));
//获取拼音首字母A--Z


if ( ($i = $this->_search($code)) != -1 ){
$result[] = $this->_pinyins[$i];
}
}
return strtoupper(implode('', $result));
}


/**
* _msubstr 获取中文字符串
*
* @access private
* @param string $str
* @param int $start
* @param int $len
* @return string
*/
private function _msubstr ($str, $start, $len) {
$start = $start * 2;
$len = $len * 2;
$strlen = strlen($str);
$result = '';
for ( $i = 0; $i <$strlen; $i++ ) {
if ( $i >= $start && $i <($start + $len) ) {
if ( ord(substr($str, $i, 1)) > 129 ) $result .= substr($str, $i, 2);
else $result .= substr($str, $i, 1);
}
if ( ord(substr($str, $i, 1)) > 129 ) $i++;
}
return $result;
}


/**
* _cutWord 字符串切分为数组 (汉字或者一个字符为单位)
*
* @access private
* @param string $str
* @return array
*/
private function _cutWord( $str ) {
$words = array();
while ( $str != "" ) {
if ( $this->_isAscii($str) ) {//非中文
$words[] = $str[0];
$str = substr( $str, strlen($str[0]) );
} else {
$word = $this->_msubstr( $str, 0, 1 );
$words[] = $word;
$str = substr( $str, strlen($word) );
}
}
return $words;
}


/**
* _isAscii 判断字符是否是ascii字符
*
* @access private
* @param string $char
* @return bool
*/
private function _isAscii( $char ) {
return ( ord( substr($char,0,1) ) <160 );
}

/**
* _isAsciis 判断字符串前3个字符是否是ascii字符
*
* @access private
* @param string $str
* @return bool
*/
private function _isAsciis( $str ) {
$len = strlen($str) >= 3 ? 3: 2;
$chars = array();
for( $i = 1; $i <$len -1; $i++ ){
$chars[] = $this->_isAscii( $str[$i] ) ? 'yes':'no';
}
$result = array_count_values( $chars );
if ( empty($result['no']) ){
return true;
}
return false;
}



/**
* _getChar 通过ASC码返回字母或者数字
*
* @access private
* @param string $ascii
* @return string
*/
private function _getChar( $ascii ){
if ( $ascii >= 48 && $ascii <= 57 ) {
return chr($ascii); //数字
} elseif ( $ascii>=65 && $ascii<=90 ) {
return chr($ascii); // A--Z
} elseif ($ascii>=97 && $ascii<=122 ) {
return chr($ascii-32); // a--z
} else {
return '~'; //其他
}
}


/**
* _search 查找需要的汉字内码(gb2312) 对应的拼音字符(二分法)
*
* @access private
* @param int $code
* @return int
*/
private function _search( $code ) {
$data = array_keys($this->_pinyins);


$lower = 0;
$upper = sizeof($data)-1;


// 排除非一级汉字
if ($code <$data[0] || $code > $data[23]) return -1;


for (;;) {
if ( $lower > $upper ){
return $data[$lower-1];
}
$middle = (int) round(($lower + $upper) / 2);
if ( !isset($data[$middle]) ) {
return -1;
}


if ( $data[$middle] <$code ){
$lower = (int)$middle + 1;
} else if ( $data[$middle] == $code ) {
return $data[$middle];
} else {
$upper = (int)$middle - 1;
}
}// end for
}

}

二、用来得到中文的首字母

这个是将中文转换为拼音的类:charset

代码如下:


/**
* 汉字转化为拼音,拼音转化为汉字
*
*/

class charset
{
private $_code=array(
array("a",'-20319'),
array("ai",'-20317'),
array("an",'-20304'),
array("ang",'-20295'),
array("ao",'-20292'),
array("ba",'-20283'),
array("bai",'-20265'),
array("ban",'-20257'),
array("bang",'-20242'),
array("bao",'-20230'),
array("bei",'-20051'),
array("ben",'-20036'),
array("beng",'-20032'),
array("bi",'-20026'),
array("bian",'-20002'),
array("biao",'-19990'),
array("bie",'-19986'),
array("bin",'-19982'),
array("bing",'-19976'),
array("bo",'-19805'),
array("bu",'-19784'),
array("ca",'-19775'),
array("cai",'-19774'),
array("can",'-19763'),
array("cang",'-19756'),
array("cao",'-19751'),
array("ce",'-19746'),
array("ceng",'-19741'),
array("cha",'-19739'),
array("chai",'-19728'),
array("chan",'-19725'),
array("chang",'-19715'),
array("chao",'-19540'),
array("che",'-19531'),
array("chen",'-19525'),
array("cheng",'-19515'),
array("chi",'-19500'),
array("chong",'-19484'),
array("chou",'-19479'),
array("chu",'-19467'),
array("chuai",'-19289'),
array("chuan",'-19288'),
array("chuang",'-19281'),
array("chui",'-19275'),
array("chun",'-19270'),
array("chuo",'-19263'),
array("ci",'-19261'),
array("cong",'-19249'),
array("cou",'-19243'),
array("cu",'-19242'),
array("cuan",'-19238'),
array("cui",'-19235'),
array("cun",'-19227'),
array("cuo",'-19224'),
array("da",'-19218'),
array("dai",'-19212'),
array("dan",'-19038'),
array("dang",'-19023'),
array("dao",'-19018'),
array("de",'-19006'),
array("deng",'-19003'),
array("di",'-18996'),
array("dian",'-18977'),
array("diao",'-18961'),
array("die",'-18952'),
array("ding",'-18783'),
array("diu",'-18774'),
array("dong",'-18773'),
array("dou",'-18763'),
array("du",'-18756'),
array("duan",'-18741'),
array("dui",'-18735'),
array("dun",'-18731'),
array("duo",'-18722'),
array("e",'-18710'),
array("en",'-18697'),
array("er",'-18696'),
array("fa",'-18526'),
array("fan",'-18518'),
array("fang",'-18501'),
array("fei",'-18490'),
array("fen",'-18478'),
array("feng",'-18463'),
array("fo",'-18448'),
array("fou",'-18447'),
array("fu",'-18446'),
array("ga",'-18239'),
array("gai",'-18237'),
array("gan",'-18231'),
array("gang",'-18220'),
array("gao",'-18211'),
array("ge",'-18201'),
array("gei",'-18184'),
array("gen",'-18183'),
array("geng",'-18181'),
array("gong",'-18012'),
array("gou",'-17997'),
array("gu",'-17988'),
array("gua",'-17970'),
array("guai",'-17964'),
array("guan",'-17961'),
array("guang",'-17950'),
array("gui",'-17947'),
array("gun",'-17931'),
array("guo",'-17928'),
array("ha",'-17922'),
array("hai",'-17759'),
array("han",'-17752'),
array("hang",'-17733'),
array("hao",'-17730'),
array("he",'-17721'),
array("hei",'-17703'),
array("hen",'-17701'),
array("heng",'-17697'),
array("hong",'-17692'),
array("hou",'-17683'),
array("hu",'-17676'),
array("hua",'-17496'),
array("huai",'-17487'),
array("huan",'-17482'),
array("huang",'-17468'),
array("hui",'-17454'),
array("hun",'-17433'),
array("huo",'-17427'),
array("ji",'-17417'),
array("jia",'-17202'),
array("jian",'-17185'),
array("jiang",'-16983'),
array("jiao",'-16970'),
array("jie",'-16942'),
array("jin",'-16915'),
array("jing",'-16733'),
array("jiong",'-16708'),
array("jiu",'-16706'),
array("ju",'-16689'),
array("juan",'-16664'),
array("jue",'-16657'),
array("jun",'-16647'),
array("ka",'-16474'),
array("kai",'-16470'),
array("kan",'-16465'),
array("kang",'-16459'),
array("kao",'-16452'),
array("ke",'-16448'),
array("ken",'-16433'),
array("keng",'-16429'),
array("kong",'-16427'),
array("kou",'-16423'),
array("ku",'-16419'),
array("kua",'-16412'),
array("kuai",'-16407'),
array("kuan",'-16403'),
array("kuang",'-16401'),
array("kui",'-16393'),
array("kun",'-16220'),
array("kuo",'-16216'),
array("la",'-16212'),
array("lai",'-16205'),
array("lan",'-16202'),
array("lang",'-16187'),
array("lao",'-16180'),
array("le",'-16171'),
array("lei",'-16169'),
array("leng",'-16158'),
array("li",'-16155'),
array("lia",'-15959'),
array("lian",'-15958'),
array("liang",'-15944'),
array("liao",'-15933'),
array("lie",'-15920'),
array("lin",'-15915'),
array("ling",'-15903'),
array("liu",'-15889'),
array("long",'-15878'),
array("lou",'-15707'),
array("lu",'-15701'),
array("lv",'-15681'),
array("luan",'-15667'),
array("lue",'-15661'),
array("lun",'-15659'),
array("luo",'-15652'),
array("ma",'-15640'),
array("mai",'-15631'),
array("man",'-15625'),
array("mang",'-15454'),
array("mao",'-15448'),
array("me",'-15436'),
array("mei",'-15435'),
array("men",'-15419'),
array("meng",'-15416'),
array("mi",'-15408'),
array("mian",'-15394'),
array("miao",'-15385'),
array("mie",'-15377'),
array("min",'-15375'),
array("ming",'-15369'),
array("miu",'-15363'),
array("mo",'-15362'),
array("mou",'-15183'),
array("mu",'-15180'),
array("na",'-15165'),
array("nai",'-15158'),
array("nan",'-15153'),
array("nang",'-15150'),
array("nao",'-15149'),
array("ne",'-15144'),
array("nei",'-15143'),
array("nen",'-15141'),
array("neng",'-15140'),
array("ni",'-15139'),
array("nian",'-15128'),
array("niang",'-15121'),
array("niao",'-15119'),
array("nie",'-15117'),
array("nin",'-15110'),
array("ning",'-15109'),
array("niu",'-14941'),
array("nong",'-14937'),
array("nu",'-14933'),
array("nv",'-14930'),
array("nuan",'-14929'),
array("nue",'-14928'),
array("nuo",'-14926'),
array("o",'-14922'),
array("ou",'-14921'),
array("pa",'-14914'),
array("pai",'-14908'),
array("pan",'-14902'),
array("pang",'-14894'),
array("pao",'-14889'),
array("pei",'-14882'),
array("pen",'-14873'),
array("peng",'-14871'),
array("pi",'-14857'),
array("pian",'-14678'),
array("piao",'-14674'),
array("pie",'-14670'),
array("pin",'-14668'),
array("ping",'-14663'),
array("po",'-14654'),
array("pu",'-14645'),
array("qi",'-14630'),
array("qia",'-14594'),
array("qian",'-14429'),
array("qiang",'-14407'),
array("qiao",'-14399'),
array("qie",'-14384'),
array("qin",'-14379'),
array("qing",'-14368'),
array("qiong",'-14355'),
array("qiu",'-14353'),
array("qu",'-14345'),
array("quan",'-14170'),
array("que",'-14159'),
array("qun",'-14151'),
array("ran",'-14149'),
array("rang",'-14145'),
array("rao",'-14140'),
array("re",'-14137'),
array("ren",'-14135'),
array("reng",'-14125'),
array("ri",'-14123'),
array("rong",'-14122'),
array("rou",'-14112'),
array("ru",'-14109'),
array("ruan",'-14099'),
array("rui",'-14097'),
array("run",'-14094'),
array("ruo",'-14092'),
array("sa",'-14090'),
array("sai",'-14087'),
array("san",'-14083'),
array("sang",'-13917'),
array("sao",'-13914'),
array("se",'-13910'),
array("sen",'-13907'),
array("seng",'-13906'),
array("sha",'-13905'),
array("shai",'-13896'),
array("shan",'-13894'),
array("shang",'-13878'),
array("shao",'-13870'),
array("she",'-13859'),
array("shen",'-13847'),
array("sheng",'-13831'),
array("shi",'-13658'),
array("shou",'-13611'),
array("shu",'-13601'),
array("shua",'-13406'),
array("shuai",'-13404'),
array("shuan",'-13400'),
array("shuang",'-13398'),
array("shui",'-13395'),
array("shun",'-13391'),
array("shuo",'-13387'),
array("si",'-13383'),
array("song",'-13367'),
array("sou",'-13359'),
array("su",'-13356'),
array("suan",'-13343'),
array("sui",'-13340'),
array("sun",'-13329'),
array("suo",'-13326'),
array("ta",'-13318'),
array("tai",'-13147'),
array("tan",'-13138'),
array("tang",'-13120'),
array("tao",'-13107'),
array("te",'-13096'),
array("teng",'-13095'),
array("ti",'-13091'),
array("tian",'-13076'),
array("tiao",'-13068'),
array("tie",'-13063'),
array("ting",'-13060'),
array("tong",'-12888'),
array("tou",'-12875'),
array("tu",'-12871'),
array("tuan",'-12860'),
array("tui",'-12858'),
array("tun",'-12852'),
array("tuo",'-12849'),
array("wa",'-12838'),
array("wai",'-12831'),
array("wan",'-12829'),
array("wang",'-12812'),
array("wei",'-12802'),
array("wen",'-12607'),
array("weng",'-12597'),
array("wo",'-12594'),
array("wu",'-12585'),
array("xi",'-12556'),
array("xia",'-12359'),
array("xian",'-12346'),
array("xiang",'-12320'),
array("xiao",'-12300'),
array("xie",'-12120'),
array("xin",'-12099'),
array("xing",'-12089'),
array("xiong",'-12074'),
array("xiu",'-12067'),
array("xu",'-12058'),
array("xuan",'-12039'),
array("xue",'-11867'),
array("xun",'-11861'),
array("ya",'-11847'),
array("yan",'-11831'),
array("yang",'-11798'),
array("yao",'-11781'),
array("ye",'-11604'),
array("yi",'-11589'),
array("yin",'-11536'),
array("ying",'-11358'),
array("yo",'-11340'),
array("yong",'-11339'),
array("you",'-11324'),
array("yu",'-11303'),
array("yuan",'-11097'),
array("yue",'-11077'),
array("yun",'-11067'),
array("za",'-11055'),
array("zai",'-11052'),
array("zan",'-11045'),
array("zang",'-11041'),
array("zao",'-11038'),
array("ze",'-11024'),
array("zei",'-11020'),
array("zen",'-11019'),
array("zeng",'-11018'),
array("zha",'-11014'),
array("zhai",'-10838'),
array("zhan",'-10832'),
array("zhang",'-10815'),
array("zhao",'-10800'),
array("zhe",'-10790'),
array("zhen",'-10780'),
array("zheng",'-10764'),
array("zhi",'-10587'),
array("zhong",'-10544'),
array("zhou",'-10533'),
array("zhu",'-10519'),
array("zhua",'-10331'),
array("zhuai",'-10329'),
array("zhuan",'-10328'),
array("zhuang",'-10322'),
array("zhui",'-10315'),
array("zhun",'-10309'),
array("zhuo",'-10307'),
array("zi",'-10296'),
array("zong",'-10281'),
array("zou",'-10274'),
array("zu",'-10270'),
array("zuan",'-10262'),
array("zui",'-10260'),
array("zun",'-10256'),
array("zuo",'-10254')
);
//拼音转化函数
function PinYin($str){
$ret="";
for($i=0;$i $p=ord(substr($str,$i,1)); //查看ASCII码
if($p>160){ //如果是中文,再多截取一个字符
$q=ord(substr($str,++$i,1));
$p=$p*256+$q-65536;
}
$ret.=$this->convert($p);
}
return $ret;
}

//转化函数
function convert($num){
if($num>0&&$num<160){ //如果不是汉字,直接返回相对字符
return chr($num);
}elseif($num<"-20319"||$num>"-10247"){
return "";
}else{ //汉字,查找对应拼音
for($i=count($this->_code)-1;$i>=0;$i--){
if($this->_code[$i][1]<=$num)
break;
}
return substr($this->_code[$i][0],0,1);
}
}
}

下面这个是用来测试代码的:

代码如下:


include_once 'charset.class.php';
header('Content-type: text/html;charset=utf-8');

$charset=new charset();
foreach(array('武汉','中国','上海') as $val){
echo iconv('gbk','utf-8//IGNORE',strtoupper($charset->PinYin(mb_convert_encoding($val,'gbk','utf-8'))));
echo '
';
}

三、这是网上找到个一个方法,经过测试可以正常使用,但对一些生僻字或者特殊字符会有问题.

代码如下:


function getFirstCharter($str){
if(empty($str)){return '';}
$fchar=ord($str{0});
if($fchar>=ord('A')&&$fchar<=ord('z')) return strtoupper($str{0});
$s1=iconv('UTF-8','gb2312',$str);
$s2=iconv('gb2312','UTF-8',$s1);
$s=$s2==$str?$s1:$str;
$asc=ord($s{0})*256+ord($s{1})-65536;
if($asc>=-20319&&$asc<=-20284) return 'A';
if($asc>=-20283&&$asc<=-19776) return 'B';
if($asc>=-19775&&$asc<=-19219) return 'C';
if($asc>=-19218&&$asc<=-18711) return 'D';
if($asc>=-18710&&$asc<=-18527) return 'E';
if($asc>=-18526&&$asc<=-18240) return 'F';
if($asc>=-18239&&$asc<=-17923) return 'G';
if($asc>=-17922&&$asc<=-17418) return 'H';
if($asc>=-17417&&$asc<=-16475) return 'J';
if($asc>=-16474&&$asc<=-16213) return 'K';
if($asc>=-16212&&$asc<=-15641) return 'L';
if($asc>=-15640&&$asc<=-15166) return 'M';
if($asc>=-15165&&$asc<=-14923) return 'N';
if($asc>=-14922&&$asc<=-14915) return 'O';
if($asc>=-14914&&$asc<=-14631) return 'P';
if($asc>=-14630&&$asc<=-14150) return 'Q';
if($asc>=-14149&&$asc<=-14091) return 'R';
if($asc>=-14090&&$asc<=-13319) return 'S';
if($asc>=-13318&&$asc<=-12839) return 'T';
if($asc>=-12838&&$asc<=-12557) return 'W';
if($asc>=-12556&&$asc<=-11848) return 'X';
if($asc>=-11847&&$asc<=-11056) return 'Y';
if($asc>=-11055&&$asc<=-10247) return 'Z';
return null;

}

推荐阅读
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Monkey《大话移动——Android与iOS应用测试指南》的预购信息发布啦!
    Monkey《大话移动——Android与iOS应用测试指南》的预购信息已经发布,可以在京东和当当网进行预购。感谢几位大牛给出的书评,并呼吁大家的支持。明天京东的链接也将发布。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • MACElasticsearch安装步骤及验证方法
    本文介绍了MACElasticsearch的安装步骤,包括下载ZIP文件、解压到安装目录、启动服务,并提供了验证启动是否成功的方法。同时,还介绍了安装elasticsearch-head插件的方法,以便于进行查询操作。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • Oracle分析函数first_value()和last_value()的用法及原理
    本文介绍了Oracle分析函数first_value()和last_value()的用法和原理,以及在查询销售记录日期和部门中的应用。通过示例和解释,详细说明了first_value()和last_value()的功能和不同之处。同时,对于last_value()的结果出现不一样的情况进行了解释,并提供了理解last_value()默认统计范围的方法。该文对于使用Oracle分析函数的开发人员和数据库管理员具有参考价值。 ... [详细]
  • 单目标应用:最有价值球员算法(Most Valuable Player Algorithm,MVPA)求解旅行商问题TSP
    一、最有价值球员算法最有价值球员算法(MostValuablePlayerAlgorithm,MVPA)由Bouchekara等人于20 ... [详细]
author-avatar
Sur-KID
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有