算法
Flynn_MIMD
静心修炼
展开
-
算法day-03 无重叠区间
返回 需要移除区间的最小数量,使剩余区间互不重叠 。贪心算法每次选择不重复,最小结尾的区间原创 2022-07-14 16:11:22 · 190 阅读 · 0 评论 -
算法day-02 贪心-分发糖果
一群孩子站成一排,每一个孩子有自己的评分。现在需要给这些孩子发糖果,规则是如果一个孩子的评分比自己身旁的一个孩子要高,那么这个孩子就必须得到比身旁孩子更多的糖果;所有孩子至少要有一个糖果。求解最少需要多少个糖果。贪心算法,两次遍历,分别从左到右,从右到左对条件进行判定并反应...原创 2022-06-27 22:44:24 · 89 阅读 · 0 评论 -
算法day-02 贪心-分发饼干
对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i 。尽可能满足越多数量的孩子,并输出这个最大数值。vector结构体的sort方法;...原创 2022-06-27 22:31:19 · 126 阅读 · 0 评论 -
算法day-01 回文串
数字转为字符串,前后相同数字取整取余,前后判断反转后段,判断相同原创 2022-06-10 10:39:26 · 127 阅读 · 0 评论 -
算法day-01 2的幂
若n是2的幂,那么只有最左是1,与n-1相与为0、、、、、、、、、、位运算与 & 同1为1或 | 有1为1异或 ^ 不同为1取反 ~左移 《 末尾补0,数值*2右移 》 负数补1,非负补0,数值/2原创 2022-06-10 00:32:56 · 106 阅读 · 0 评论 -
二分查找-简单
class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector * @param target int整型 * @return int整型 */ int search(vector<int>& nums, int target) { // write原创 2022-05-04 21:42:40 · 90 阅读 · 0 评论 -
寻找峰值--二分
class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型vector * @return int整型 */ int findPeakElement(vector<int>& nums) { // write code here int left = 0原创 2022-05-04 21:36:28 · 74 阅读 · 0 评论 -
链表之排序
class Solution {public: /** * * @param head ListNode类 the head node * @return ListNode类 */ static bool cmp(ListNode* a,ListNode* b){ return a->val<b->val; } ListNode* sortInList(ListNode* head) {原创 2022-04-30 22:00:45 · 641 阅读 · 0 评论 -
部分区间链表反转
class Solution {public: /** * * @param head ListNode类 * @param m int整型 * @param n int整型 * @return ListNode类 */ ListNode* reverseBetween(ListNode* head, int m, int n) { // write code here if(head ==原创 2022-04-30 19:43:44 · 688 阅读 · 0 评论 -
链表的反转
用stack或者vector反转存储数值,再构建新链表class Solution {public: ListNode* ReverseList(ListNode* pHead) { if(!pHead)return nullptr; vector<ListNode*> s; ListNode* ph=pHead; while(ph){ s.push_back(ph); .原创 2022-04-28 23:38:01 · 83 阅读 · 0 评论