-
cpp
class Solution { public: int monotoneIncreasingDigits(int n) { string s = to_string(n); int flag = s.size(); for(int i = s.size() - 1; i > 0; i -- ) { if(s[i] < s[i - 1]) { flag = i; s[i - 1] --; } } for(int i = flag; i < s.size(); i++ ) { s[i] = '9'; } return stoi(s); } };前一个数字 > 当前数字,说明单调性被破坏,需要把前一个数字 减 1,并把它后面的所有数字变为 '9'
-
cpp
class Solution { public: vector<int> partitionLabels(string s) { int hash[26] = {0}; vector<int>result; int left = 0; int right = 0; for(int i = 0 ; i < s.size(); i ++ ) { hash[s[i] - 'a'] = i; } for(int i = 0; i < s.size() ; i++ ) { right = max(right, hash[s[i] - 'a']); if(i == right) { result.push_back(right - left + 1); left = i + 1; } } return result; } };用个hash表保存
-
cpp
class Solution { public: static bool cmp(vector<int>& a, vector<int>& b) { return a[0] < b[0]; } vector<vector<int>> merge(vector<vector<int>>& intervals) { sort(intervals.begin(),intervals.end(),cmp); vector<vector<int>>result; result.push_back(intervals[0]); for(int i = 1 ; i < intervals.size(); i ++ ) { if(result.back()[1] >= intervals[i][0]) { result.back()[1] = max(result.back()[1],intervals[i][1]); }else { result.push_back(intervals[i]); } } return result; } };先把第一个存入,再依次比较。
-
线程安全的单例
cppclass singleton { public: static singleton &getinstance() { static singleton instance; return instance; } singleton (const singleton &) = delete; singleton& operator= (const singleton&) = delete; private: singleton() { } ~singleton() { } }; int main() { singleton& pinstance = singleton::getinstance(); }
贪心+线程安全单例
TheLegendMe2025-11-28 12:28
相关推荐
iAkuya2 分钟前
(leetcode)力扣100 62N皇后问题 (普通回溯(使用set存储),位运算回溯)近津薪荼2 分钟前
dfs专题5——(二叉搜索树中第 K 小的元素)xiaoye-duck4 分钟前
吃透 C++ STL list:从基础使用到特性对比,解锁链表容器高效用法松☆7 分钟前
CANN与大模型推理:在边缘端高效运行7B参数语言模型的实践指南java干货18 分钟前
为什么 “File 10“ 排在 “File 2“ 前面?解决文件名排序的终极算法:自然排序皮皮哎哟25 分钟前
数据结构:嵌入式常用排序与查找算法精讲程序员清洒34 分钟前
CANN模型剪枝:从敏感度感知到硬件稀疏加速的全链路压缩实战vortex51 小时前
几种 dump hash 方式对比分析Wei&Yan2 小时前
数据结构——顺序表(静/动态代码实现)团子的二进制世界2 小时前
G1垃圾收集器是如何工作的?