国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

500. Keyboard Row - 是否為鍵盤行序列

2019-11-11 00:55:50
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

hhttps://leetcode.com/PRoblems/keyboard-row/

分析

判斷所給的各個(gè)序列是否是有鍵盤中的一行字母能夠組成的,寫的比較簡(jiǎn)單,也沒(méi)用什么算法,簡(jiǎn)單的字符串匹配加判斷,沒(méi)有拆分封裝函數(shù),寫的比較啰嗦,還用了goto,有下面幾點(diǎn)需要關(guān)注:

goto語(yǔ)句后面不能直接結(jié)束,至少還需要有一條語(yǔ)句,否則會(huì)報(bào)錯(cuò)動(dòng)態(tài)二維數(shù)組內(nèi)存申請(qǐng),先申請(qǐng)行指針,再申請(qǐng)列內(nèi)存

實(shí)現(xiàn)

/** * Return an array of size *returnSize. * Note: The returned array must be malloced, assume caller calls free(). */char** findWords(char** words, int wordsSize, int* returnSize) { int *pYesWordNum; int yesWordCount = 0; int i = 0; int j = 0; int k = 0; int line1Flag = 0; int line2Flag = 0; int line3Flag = 0; int wordLen = 0; int maxWordLen = 0; int retWordNum = 0; char line1[20] = {'q','w','e','r','t','y','u','i','o','p','Q','W','E','R','T','Y','U','I','O','P'}; char line2[18] = {'a','s','d','f','g','h','j','k','l','A','S','D','F','G','H','J','K','L'}; char line3[14] = {'z','x','c','v','b','n','m','Z','X','C','V','B','N','M'}; char **pRetWords; int pp; pYesWordNum = (int *)malloc(wordsSize * sizeof(int)); memset(pYesWordNum, 0, wordsSize * sizeof(int)); for (i = 0; i < wordsSize; i++) { wordLen = (int)strlen(words[i]); if (wordLen > maxWordLen) { maxWordLen = wordLen; } line1Flag = 0; line2Flag = 0; line3Flag = 0; for (j = 0; j < wordLen; j++) { for (k = 0; k < 20; k++) { if (words[i][j] == line1[k]) { if ((line2Flag == 1) || (line3Flag == 1)) { goto nextWord; } line1Flag = 1; goto nextAlphabet; } } for (k = 0; k < 18; k++) { if (words[i][j] == line2[k]) { if ((line1Flag == 1) || (line3Flag == 1)) { goto nextWord; } line2Flag = 1; goto nextAlphabet; } } for (k = 0; k < 14; k++) { if (words[i][j] == line3[k]) { if ((line1Flag == 1) || (line2Flag == 1)) { goto nextWord; } line3Flag = 1; goto nextAlphabet; } } /* 該單詞已檢查,跳轉(zhuǎn)下一個(gè)字母 */ nextAlphabet: pp =1; } /* 該單詞符合,進(jìn)行記錄 */ pYesWordNum[i] = 1; /* 該單詞不符合,跳轉(zhuǎn)下一個(gè)單詞 */ nextWord: pp =1; } /* 統(tǒng)計(jì)符合單詞的數(shù)目 */ for (i = 0; i < wordsSize; i++) { if (pYesWordNum[i] == 1) { yesWordCount++; } } pRetWords = (char **)malloc(yesWordCount * sizeof(char *)); for (i = 0; i < yesWordCount; i++) { pRetWords[i]=(char *)malloc(maxWordLen); } for (i = 0; i < yesWordCount; i++) { memset(pRetWords[i], 0, maxWordLen); } for (i = 0; i < wordsSize; i++) { if (pYesWordNum[i] == 1) { strcpy(pRetWords[retWordNum], words[i]); retWordNum++; } } free(pYesWordNum); *returnSize = retWordNum; return pRetWords;}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 增城市| 同仁县| 天镇县| 韶关市| 阳西县| 株洲市| 彭州市| 高唐县| 朝阳区| 长海县| 苏州市| 阳城县| 靖安县| 会昌县| 新余市| 岳西县| 临朐县| 西盟| 灵山县| 拜泉县| 二手房| 固始县| 阳山县| 阳泉市| 商河县| 东乡族自治县| 信丰县| 安远县| 奉化市| 金乡县| 突泉县| 连南| 安庆市| 社会| 博客| 肇庆市| 肇庆市| 长沙县| 诸城市| 平顶山市| 炉霍县|