- 博客(10)
- 收藏
- 关注
原创 力扣 202. 快乐数 //快慢指针//哈希 3种方法
哈希: 其实int 最大为9位 假如最大 13位9的快乐数为1053 极限快乐数 每位值都为9 相加 为1053 所以最大的快乐数为1053 只有开始题目给你的数可能使你第一步为1053 此后 都是小于243 而且结果只有2种可能 一是循环1 而是形成环循环 一但出现第二个重复的数 如果不是一 就是false 第二个重复的数是一 就true;//两者相遇跳出 low=fast。int end(int n) //创建找到下一个快乐数的函数。
2024-01-25 12:06:35
592
原创 力扣 169. 多数元素 boyer-moore法 时间o(n) 空间O(1)
代码:int key=0;i<numsSize;i++)return key;
2024-01-24 16:54:26
534
原创 力扣 12. 整数转罗马数字
if (a[i] >= 5) //a[i]表示每位的大小 比如3999 为 9 9 9 3 先从后向前遍历为3 9 9 9。i--,j--) //从保存的高位置 开始遍历 比如 千位 百位 十位 个位。int j=k-1;//先输出高位下标 从高位置开始遍历。//初始化数组从第一行开始。//返回的数组s1的下标。
2024-01-23 19:44:21
466
1
原创 力扣 86. 分隔链表 时间复杂度O(n) 空间O(n)
/创建数组 存入节点值。i++)//找到大于等于X的数。i++)//找到小于X的数。
2024-01-23 17:52:01
383
1
原创 力扣 82. 删除排序链表中的重复元素 II
while(temp2&&temp1->val==temp2->val)//若是结尾后面几个都是相同数 判断条件temp2 指向空指针时跳出循环 //或者指向的数不同时 跳出。while(cur->next&&cur->next->next)// 条件为且 一个指向空指针 都条件为否。//若为0 则有相同数 只需指向此时不同数的节点。//更新相同数的指向。//更新相同数的指向。
2024-01-23 15:18:56
552
1
原创 力扣 61. 旋转链表 哈希
这里先申请一个数组hash 遍历链表 将节点值存进hash 找到更改后第一个元素下标在遍历链表将改后数组 放进链表的节点代码:/*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/struct ListNode* rotateRight(struct ListNode* head, int k)
2024-01-23 12:37:20
500
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人