本文已参与[新人创作礼]活动,一起开启掘金创作之路
392.判断子序列
采用双指针 i ,j 从t中寻找是否包含s的字母,如果包含 则 i 加一。
bool isSubsequence(char * s, char * t){
int n=strlen(s),m=strlen(t);
int i=0,j=0;
while(i<n&&j<m) //不超过边界值
{
if(s[i]==t[j])
{
i++;
}
j++;
}return i==n; //相等的时候返回true 否则返回false
}
2006. 差的绝对值为 K 的数对数目
leetcode-cn.com/problems/co…
这道题的解答和条件都在题目上,认真分析题目即可。错误了好几次都是因为没有看完整题目要求。
int countKDifference(int* nums, int numsSize, int k){
int count=0;
for(int j=1;j<numsSize;j++){
for(int i=0;i<j;i++){
if(abs(nums[i]-nums[j])==k){
count++;
}
}
}return count;
}
240. 搜索二维矩阵 II
核心是通过比较matrix[i][j]和target大小来移动直到找到等于target的那个位置
bool searchMatrix(int** matrix, int matrixSize, int* matrixColSize, int target){
int m=matrixSize,n=*matrixColSize;
int j=n-1,i=0;
while(i<m&&j>=0)
{
if(matrix[i][j]>target) //大于的话令其向左移动
{
j--;
}else if(matrix[i][j]<target) //小于就向下移动
{
i++;
}
else return true; //直到相等的时候返回true
}return false;
}