8000 leetcode/src/wordSearch/wordSearch.cpp at master · xxling/leetcode · GitHub
[go: up one dir, main page]

Skip to content
< 78AF script type="application/json" data-target="react-app.embeddedData">{"payload":{"allShortcutsEnabled":false,"fileTree":{"src/wordSearch":{"items":[{"name":"wordSearch.cpp","path":"src/wordSearch/wordSearch.cpp","contentType":"file"}],"totalCount":1},"src":{"items":[{"name":"3Sum","path":"src/3Sum","contentType":"directory"},{"name":"3SumClosest","path":"src/3SumClosest","contentType":"directory"},{"name":"4Sum","path":"src/4Sum","contentType":"directory"},{"name":"LRUCache","path":"src/LRUCache","contentType":"directory"},{"name":"addBinary","path":"src/addBinary","contentType":"directory"},{"name":"addTwoNumbers","path":"src/addTwoNumbers","contentType":"directory"},{"name":"anagrams","path":"src/anagrams","contentType":"directory"},{"name":"balancedBinaryTree","path":"src/balancedBinaryTree","contentType":"directory"},{"name":"bestTimeToBuyAndSellStock","path":"src/bestTimeToBuyAndSellStock","contentType":"directory"},{"name":"binaryTreeInorderTraversal","path":"src/binaryTreeInorderTraversal","contentType":"directory"},{"name":"binaryTreeLevelOrderTraversal","path":"src/binaryTreeLevelOrderTraversal","contentType":"directory"},{"name":"binaryTreeMaximumPathSum","path":"src/binaryTreeMaximumPathSum","contentType":"directory"},{"name":"binaryTreePostorderTraversal","path":"src/binaryTreePostorderTraversal","contentType":"directory"},{"name":"binaryTreePreorderTraversal","path":"src/binaryTreePreorderTraversal","contentType":"directory"},{"name":"binaryTreeZigzagLevelOrderTraversal","path":"src/binaryTreeZigzagLevelOrderTraversal","contentType":"directory"},{"name":"candy","path":"src/candy","contentType":"directory"},{"name":"climbStairs","path":"src/climbStairs","contentType":"directory"},{"name":"cloneGraph","path":"src/cloneGraph","contentType":"directory"},{"name":"combinationSum","path":"src/combinationSum","contentType":"directory"},{"name":"combinations","path":"src/combinations","contentType":"directory"},{"name":"constructBinaryTreeFromInorderAndPostorderTraversal","path":"src/constructBinaryTreeFromInorderAndPostorderTraversal","contentType":"directory"},{"name":"constructBinaryTreeFromPreorderAndInorderTraversal","path":"src/constructBinaryTreeFromPreorderAndInorderTraversal","contentType":"directory"},{"name":"containerWithMostWater","path":"src/containerWithMostWater","contentType":"directory"},{"name":"convertSortedArrayToBinarySearchTree","path":"src/convertSortedArrayToBinarySearchTree","contentType":"directory"},{"name":"convertSortedListToBinarySearchTree","path":"src/convertSortedListToBinarySearchTree","contentType":"directory"},{"name":"copyListWithRandomPointer","path":"src/copyListWithRandomPointer","contentType":"directory"},{"name":"countAndSay","path":"src/countAndSay","contentType":"directory"},{"name":"decodeWays","path":"src/decodeWays","contentType":"directory"},{"name":"distinctSubsequences","path":"src/distinctSubsequences","contentType":"directory"},{"name":"divideTwoInt","path":"src/divideTwoInt","contentType":"directory"},{"name":"editDistance","path":"src/editDistance","contentType":"directory"},{"name":"evaluateReversePolishNotation","path":"src/evaluateReversePolishNotation","contentType":"directory"},{"name":"findMinimumInRotatedSortedArray","path":"src/findMinimumInRotatedSortedArray","contentType":"directory"},{"name":"firstMissingPositive","path":"src/firstMissingPositive","contentType":"directory"},{"name":"flattenBinaryTreeToLinkedList","path":"src/flattenBinaryTreeToLinkedList","contentType":"directory"},{"name":"gasStation","path":"src/gasStation","contentType":"directory"},{"name":"generateParentheses","path":"src/generateParentheses","contentType":"directory"},{"name":"grayCode","path":"src/grayCode","contentType":"directory"},{"name":"insertInterval","path":"src/insertInterval","contentType":"directory"},{"name":"insertionSortList","path":"src/insertionSortList","contentType":"directory"},{"name":"integerToRoman","path":"src/integerToRoman","contentType":"directory"},{"name":"interleavingString","path":"src/interleavingString","contentType":"directory"},{"name":"jumpGame","path":"src/jumpGame","contentType":"directory"},{"name":"largestRectangleInHistogram","path":"src/largestRectangleInHistogram","contentType":"directory"},{"name":"lengthOfLastWord","path":"src/lengthOfLastWord","contentType":"directory"},{"name":"letterCombinationsOfAPhoneNumber","path":"src/letterCombinationsOfAPhoneNumber","contentType":"directory"},{"name":"linkedListCycle","path":"src/linkedListCycle","contentType":"directory"},{"name":"longestCommonPrefix","path":"src/longestCommonPrefix","contentType":"directory"},{"name":"longestConsecutiveSequence","path":"src/longestConsecutiveSequence","contentType":"directory"},{"name":"longestPalindromicSubstring","path":"src/longestPalindromicSubstring","contentType":"directory"},{"name":"longestSubstringWithoutRepeatingCharacters","path":"src/longestSubstringWithoutRepeatingCharacters","contentType":"directory"},{"name":"longestValidParentheses","path":"src/longestValidParentheses","contentType":"directory"},{"name":"maxPointsOnALine","path":"src/maxPointsOnALine","contentType":"directory"},{"name":"maximalRectangle","path":"src/maximalRectangle","contentType":"directory"},{"name":"maximumDepthOfBinaryTree","path":"src/maximumDepthOfBinaryTree","contentType":"directory"},{"name":"maximumProductSubarray","path":"src/maximumProductSubarray","contentType":"directory"},{"name":"maximumSubArray","path":"src/maximumSubArray","contentType":"directory"},{"name":"medianOfTwoSortedArrays","path":"src/medianOfTwoSortedArrays","contentType":"directory"},{"name":"mergeIntervals","path":"src/mergeIntervals","contentType":"directory"},{"name":"mergeKSortedLists","path":"src/mergeKSortedLists","contentType":"directory"},{"name":"mergeTwoSortedArray","path":"src/mergeTwoSortedArray","contentType":"directory"},{"name":"mergeTwoSortedList","path":"src/mergeTwoSortedList","contentType":"directory"},{"name":"minimumDepthOfBinaryTree","path":"src/minimumDepthOfBinaryTree","contentType":"directory"},{"name":"minimumPathSum","path":"src/minimumPathSum","contentType":"directory"},{"name":"minimumWindowSubstring","path":"src/minimumWindowSubstring","contentType":"directory"},{"name":"multiplyStrings","path":"src/multiplyStrings","contentType":"directory"},{"name":"nQueens","path":"src/nQueens","contentType":"directory"},{"name":"nextPermutation","path":"src/nextPermutation","contentType":"directory"},{"name":"palindromeNumber","path":"src/palindromeNumber","contentType":"directory"},{"name":"palindromePartitioning","path":"src/palindromePartitioning","contentType":"directory"},{"name":"partitionList","path":"src/partitionList","contentType":"directory"},{"name":"pascalTriangle","path":"src/pascalTriangle","contentType":"directory"},{"name":"pathSum","path":"src/pathSum","contentType":"directory"},{"name":"permutationSequence","path":"src/permutationSequence","contentType":"directory"},{"name":"permutations","path":"src/permutations","contentType":"directory"},{"name":"plusOne","path":"src/plusOne","contentType":"directory"},{"name":"populatingNextRightPointersInEachNode","path":"src/populatingNextRightPointersInEachNode","contentType":"directory"},{"name":"pow","path":"src/pow","contentType":"directory"},{"name":"recoverBinarySearchTree","path":"src/recoverBinarySearchTree","contentType":"directory"},{"name":"regularExpressionMatching","path":"src/regularExpressionMatching","contentType":"directory"},{"name":"removeDuplicatesFromSortedArray","path":"src/removeDuplicatesFromSortedArray","contentType":"directory"},{"name":"removeDuplicatesFromSortedList","path":"src/removeDuplicatesFromSortedList","contentType":"directory"},{"name":"removeElement","path":"src/removeElement","contentType":"directory"},{"name":"removeNthNodeFromEndOfList","path":"src/removeNthNodeFromEndOfList","contentType":"directory"},{"name":"reorderList","path":"src/reorderList","contentType":"directory"},{"name":"restoreIPAddresses","path":"src/restoreIPAddresses","contentType":"directory"},{"name":"reverseInteger","path":"src/reverseInteger","contentType":"directory"},{"name":"reverseLinkedList","path":"src/reverseLinkedList","contentType":"directory"},{"name":"reverseNodesInKGroup","path":"src/reverseNodesInKGroup","contentType":"directory"},{"name":"reverseWordsInAString","path":"src/reverseWordsInAString","contentType":"directory"},{"name":"romanToInteger","path":"src/romanToInteger","contentType":"directory"},{"name":"rotateImage","path":"src/rotateImage","contentType":"directory"},{"name":"rotateList","path":"src/rotateList","contentType":"directory"},{"name":"sameTree","path":"src/sameTree","contentType":"directory"},{"name":"scrambleString","path":"src/scrambleString","contentType":"directory"},{"name":"search2DMatrix","path":"src/search2DMatrix","contentType":"directory"},{"name":"searchForRange","path":"src/searchForRange","contentType":"directory"},{"name":"searchInRotatedSortedArray","path":"src/searchInRotatedSortedArray","contentType":"directory"},{"name":"searchInsertPosition","path":"src/searchInsertPosition","contentType":"directory"},{"name":"setMatrixZeroes","path":"src/setMatrixZeroes","contentType":"directory"},{"name":"simplifyPath","path":"src/simplifyPath","contentType":"directory"},{"name":"singleNumber","path":"src/singleNumber","contentType":"directory"},{"name":"sortColors","path":"src/sortColors","contentType":"directory"},{"name":"sortList","path":"src/sortList","contentType":"directory"},{"name":"spiralMatrix","path":"src/spiralMatrix","contentType":"directory"},{"name":"sqrt","path":"src/sqrt","contentType":"directory"},{"name":"strStr","path":"src/strStr","contentType":"directory"},{"name":"stringToIntegerAtoi","path":"src/stringToIntegerAtoi","contentType":"directory"},{"name":"subsets","path":"src/subsets","contentType":"directory"},{"name":"substringWithConcatenationOfAllWords","path":"src/substringWithConcatenationOfAllWords","contentType":"directory"},{"name":"sudokuSolver","path":"src/sudokuSolver","contentType":"directory"},{"name":"sumRootToLeafNumber","path":"src/sumRootToLeafNumber","contentType":"directory"},{"name":"surroundedRegions","path":"src/surroundedRegions","contentType":"directory"},{"name":"swapNodesInPairs","path":"src/swapNodesInPairs","contentType":"directory"},{"name":"symmetricTree","path":"src/symmetricTree","contentType":"directory"},{"name":"textJustification","path":"src/textJustification","contentType":"directory"},{"name":"trappingRainWater","path":"src/trappingRainWater","contentType":"directory"},{"name":"triangle","path":"src/triangle","contentType":"directory"},{"name":"twoSum","path":"src/twoSum","contentType":"directory"},{"name":"uniqueBinarySearchTrees","path":"src/uniqueBinarySearchTrees","contentType":"directory"},{"name":"uniquePaths","path":"src/uniquePaths","contentType":"directory"},{"name":"validNumber","path":"src/validNumber","contentType":"directory"},{"name":"validPalindrome","path":"src/validPalindrome","contentType":"directory"},{"name":"validParentheses","path":"src/validParentheses","contentType":"directory"},{"name":"validSudoku","path":"src/validSudoku","contentType":"directory"},{"name":"validateBinarySearchTree","path":"src/validateBinarySearchTree","contentType":"directory"},{"name":"wildcardMatching","path":"src/wildcardMatching","contentType":"directory"},{"name":"wordBreak","path":"src/wordBreak","contentType":"directory"},{"name":"wordLadder","path":"src/wordLadder","contentType":"directory"},{"name":"wordSearch","path":"src/wordSearch","contentType":"directory"},{"name":"zigZagConversion","path":"src/zigZagConversion","contentType":"directory"}],"totalCount":131},"":{"items":[{"name":"src","path":"src","contentType":"directory"},{"name":"README.md","path":"README.md","contentType":"file"}],"totalCount":2}},"fileTreeProcessingTime":18.809095000000003,"foldersToFetch":[],"incompleteFileTree":false,"repo":{"id":26211417,"defaultBranch":"master","name":"leetcode","ownerLogin":"xxling","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2014-11-05T09:01:13.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/4180247?v=4","public":true,"private":false,"isOrgOwned":false},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"master","listCacheKey":"v0:1615703900.6078799","canEdit":false,"refType":"branch","currentOid":"5775d1d563d6978d1df4cc4ab54c3856ce4e9625"},"path":"src/wordSearch/wordSearch.cpp","currentUser":null,"blob":{"rawLines":["// Source : https://oj.leetcode.com/problems/word-search/","// Author : Hao Chen","// Date : 2014-07-19","","/********************************************************************************** ","* ","* Given a 2D board and a word, find if the word exists in the grid.","* ","* The word can be constructed from letters of sequentially adjacent cell, ","* where \"adjacent\" cells are those horizontally or vertically neighboring. ","* The same letter cell may not be used more than once.","* ","* For example,","* Given board = ","* ","* [","* [\"ABCE\"],","* [\"SFCS\"],","* [\"ADEE\"]","* ]","* ","* word = \"ABCCED\", -\u003e returns true,","* word = \"SEE\", -\u003e returns true,","* word = \"ABCB\", -\u003e returns false.","* ","* ","**********************************************************************************/","","#include \u003ciostream\u003e","#include \u003cvector\u003e","#include \u003cstring\u003e","using namespace std;","","bool exist(vector\u003cvector\u003cchar\u003e \u003e \u0026board, string word, int idx, int row, int col, vector\u003c vector\u003cint\u003e \u003e \u0026mask) {"," int i = row;"," int j = col;"," if (board[i][j] == word[idx] \u0026\u0026 mask[i][j]==0 ) {"," mask[i][j]=1;"," if (idx+1 == word.size()) return true;"," idx++;"," if (( i+1\u003cboard.size() \u0026\u0026 exist(board, word, idx, i+1, j, mask) ) ||"," ( i\u003e0 \u0026\u0026 exist(board, word, idx, i-1, j, mask) ) ||"," ( j+1\u003cboard[i].size() \u0026\u0026 exist(board, word, idx, i, j+1, mask) ) ||"," ( j\u003e0 \u0026\u0026 exist(board, word, idx, i, j-1, mask) ) )"," {"," return true;"," }"," mask[i][j]=0;"," }"," //if (board[i][j] != word[idx]) {"," // mask[i][j]=0;"," //}"," return false;","}","","bool exist(vector\u003cvector\u003cchar\u003e \u003e \u0026board, string word) {"," if (board.size()\u003c=0 || word.size()\u003c=0) return false;"," int row = board.size();"," int col = board[0].size();"," vector\u003c vector\u003cint\u003e \u003e mask;"," for(int i=0; i\u003crow; i++) {"," vector\u003cint\u003e v(col);"," mask.push_back(v);"," }",""," for(int i=0; i\u003cboard.size(); i++) {"," for(int j=0; j\u003cboard[i].size(); j++){"," if ( board[i][j]==word[0] ){"," vector\u003c vector\u003cint\u003e \u003e m = mask;"," if( exist(board, word, 0, i, j, m) ){"," return true;"," }"," }"," }"," }"," return false;","}","","vector\u003c vector\u003cchar\u003e \u003e buildBoard(char b[][5], int r, int c) {"," vector\u003c vector\u003cchar\u003e \u003e board;"," for (int i=0; i\u003cr; i++){"," vector\u003cchar\u003e v(b[i], b[i]+c);"," cout \u003c\u003c b[i] \u003c\u003c endl;"," board.push_back(v);"," }"," cout \u003c\u003c \"----------\" \u003c\u003c endl; "," return board;","}","","int main(int argc, char** argv)","{"," string s;"," char b[3][5] ={ \"ABCE\", \"SFCS\", \"ADEE\" };"," vector\u003c vector\u003cchar\u003e \u003e board = buildBoard(b, 3, 4);",""," s = \"SEE\";"," cout \u003c\u003c s \u003c\u003c \":\" \u003c\u003c exist(board, s) \u003c\u003c endl; "," "," s = \"ABCCED\";"," cout \u003c\u003c s \u003c\u003c \":\" \u003c\u003c exist(board, s) \u003c\u003c endl; "," "," s = \"ABCB\";"," cout \u003c\u003c s \u003c\u003c \":\" \u003c\u003c exist(board, s) \u003c\u003c endl; ","",""," if (argc\u003e1){"," s = argv[1];"," cout \u003c\u003c s \u003c\u003c \":\" \u003c\u003c exist(board, s) \u003c\u003c endl; "," }",""," cout \u003c\u003c endl \u003c\u003c \"----------\" \u003c\u003c endl; "," char b1[3][5] ={ \"CAA\", \"AAA\", \"BCD\" };"," board = buildBoard(b1, 3, 3);",""," s = \"AAB\";"," cout \u003c\u003c s \u003c\u003c \":\" \u003c\u003c exist(board, s) \u003c\u003c endl; ","",""," cout \u003c\u003c endl \u003c\u003c \"----------\" \u003c\u003c endl; "," char b2[3][5] ={ \"ABCE\", \"SFES\", \"ADEE\" };"," board = buildBoard(b2, 3, 4);",""," s = \"ABCESEEEFS\";"," cout \u003c\u003c s \u003c\u003c \":\" \u003c\u003c exist(board, s) \u003c\u003c endl; ",""," cout \u003c\u003c endl \u003c\u003c \"----------\" \u003c\u003c endl; "," char b3[3][5] ={ \"aaaa\", \"aaaa\", \"aaaa\" };"," board = buildBoard(b3, 3, 4);",""," s = \"aaaaaaaaaaaaa\";"," cout \u003c\u003c s \u003c\u003c \":\" \u003c\u003c exist(board, s) \u003c\u003c endl; ",""," return 0;","}"],"stylingDirectives":null,"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/xxling/leetcode/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"wordSearch.cpp","displayUrl":"https://github.com/xxling/leetcode/blob/master/src/wordSearch/wordSearch.cpp?raw=true","headerInfo":{"blobSize":"3.52 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"5542b6a","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fxxling%2Fleetcode%2Fblob%2Fmaster%2Fsrc%2FwordSearch%2FwordSearch.cpp","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"134","truncatedSloc":"114"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"C++","languageID":43,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/xxling/leetcode/blob/master/src/wordSearch/wordSearch.cpp","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/xxling/leetcode/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/xxling/leetcode/raw/refs/heads/master/src/wordSearch/wordSearch.cpp","renderImageOrRaw":false,"richText":null,"renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":null},"copilotInfo":null,"copilotAccessAllowed":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"csrf_tokens":{"/xxling/leetcode/branches":{"post":"O4n3Q163_SDXvD1S6zTtIOqBcJUoPSPDDcXbE8A4EeC7WoClE2l6M8LaV3Pvfhyu0CxP4AoBcXXZvilLHqDvxw"},"/repos/preferences":{"post":"SVHn1-gUpFtWBNQEyY0RL7CC2YWg988PLsk1gEpUC5ayExq-AR4-hLG360Nwi2WB1BF5JSdgzeLt9YYsVwK8ug"}}},"title":"leetcode/src/wordSearch/wordSearch.cpp at master · xxling/leetcode","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-263cab1760dd.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-1b17b3e7786a.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"react_blob_overlay":false,"accessible_code_button":true}}}
0