374.猜数字大小
题目链接
static const auto io_speed_up = []()
{
ios::sync_with_stdio(0);
cin.tie(0);
return 0;
}();
int guess(int num);
class Solution {
public:
typedef long long LL;
int guessNumber(int n) {
LL l = 1, r = n;
while(l<r){
LL m = (l + r)>>1;
if(guess(m) > 0)l = m + 1;
else r = m;
}
return l;
}
};
383.赎金信
题目链接
static const auto io_speed_up = []()
{
ios::sync_with_stdio(0);
cin.tie(0);
return 0;
}();
class Solution {
public:
bool canConstruct(string ransomNote, string magazine) {
int ms[26]={0};
for(char p : magazine)ms[p-'a']++;
for(char p : ransomNote)if(--ms[p-'a']<0)return 0;
return 1;
}
};

本文探讨了两个经典算法问题:猜数字大小和赎金信问题。猜数字大小通过二分查找高效确定目标数值,而赎金信问题则展示了如何检查字符串中字符的频率,以判断一个字符串是否可以从另一个字符串中构建出来。文章提供了详细的代码实现和算法思路。
833

被折叠的 条评论
为什么被折叠?



