LeetCode - Palindrome Partitioning
Question Definition
Given a string s, partition s such that every substring of the partition is a palindrome.
Return all possible palindrome partitioning of s.
More …Given a string s, partition s such that every substring of the partition is a palindrome.
Return all possible palindrome partitioning of s.
More …Given a linked list, return the node where the cycle begins. If there is no cycle, return null.
More …Given a digit string, return all possible letter combinations that the number could represent.
More …Design a data structure that supports the following two operations:
void addWord(word) bool search(word) search(word) can search a literal word or a regular expression string containing only letters a-z or .. A . means it can represent any one letter.
More …Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:
Consider the following matrix:
[
[1, 4, 7, 11, 15],
[2, 5, 8, 12, 19],
[3, 6, 9, 16, 22],
[10, 13, 14, 17, 24],
[18, 21, 23, 26, 30]
]
Given target = 5, return true.
Given target = 20, return false.
public boolean searchMatrix(int[][] matrix, int target) {
if(matrix.length == 0 || matrix[0].length == 0) return false;
int i = 0;
int left = 0;
int right = matrix[0].length - 1;
while(true){
int mid = (left + right) / 2;
if(matrix[i][mid] == target)
return true;
if(matrix[i][mid] < target)
left = mid + 1;
else
right = mid - 1;
if(left > right){
if(left == 0)
return false;
if(i == matrix.length - 1)
return false;
i++;
left = 0;
right = matrix[i].length - 1;
}
}
}