- 博客(33)
- 收藏
- 关注
原创 「Python3」LeetCode0331每日一题 - 简单消消乐
「Python3」0329每日一题 - 简单消消乐[‘9’, ‘#’, ‘93’, ‘#’, ‘#’]
2024-03-31 17:48:55 479
原创 test005
1 题目/** * 青蛙(frog)杯第一届棒球比赛开赛啦。 * 你现在是一名记分员,输入一个字符串数组(比赛记录情况),按如下规则计分: * 1. 如果该字符串是数字:代表当轮比赛的得分情况。 * 2. 如果该字符串是“+”: 代表当轮比赛得分情况为上两轮之和。 * 3. 如果该字符串是“C”: 代表上一轮得分无效。 * 4. 如果该字符串是“D”: 代表当轮比赛得分为上一轮得分的两倍。 * 你需要得出最后总的得分情况并返回结果。 */2 题解2.1 解题思路这是一道简单的字符
2022-05-06 15:06:35 247
原创 test004
1 题目/** * 在古老的一维模式识别中,常常需要计算连续子向量的最大和 * 当向量全为正数的时候,问题很好解决。 * 但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢? * 例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。 * 各位小皮皮有什么好的解法呢?(子向量的长度至少是1) */2 题解2.1 解题思路求最大的连续子向量和,可以使用辅助数组来解决。辅助数组记录的是当前元素和具有性质:sum[
2022-05-06 15:04:05 66
原创 test003
1 题目/** * 两个有序的无头结点的链表La,Lb。 * 编写函数:如何以最优的方式找出二者的交集,并且把结果存在一个新链表中返回。 */2 题解2.1 解题思路这道题求解的是两个有序链表的交集(区别于共同节点,这里只要求数值相同即可),注意有序字眼。构造第三个链表C,指针aa,bb,cc分别指向带查询的两个链表A和B以及链表C。两个有序链表涉及合并、交集、去重复基本上都可以使用双指针指向,小的往前移动,遇到相同的则复制到链表C中,直到一方指向为空则完成该过程。2.2 解题图示
2022-05-06 15:01:49 190
原创 test002
1 题目/** * 你现在是一个买卖青蛙的 huster。 * 每天的青蛙价格不一样,prices[i]代表青蛙在第 i 天的价 格 * 求只做一次交易(买入 1 只,卖出 1 只)能得到的最大收益(你必须先买了青蛙之后才能 卖青蛙)。 * 时间复杂度要求:O(n) */2 题解2.1 解题思路考查的是买卖的最佳时机,必须先买之后才能卖出。从最佳利益的角度出发,只需要找到一个买入最低点和卖出最高点的差价即可。主要变量是当前最小值minPrice以及当前最大利益maxProfit。
2022-05-06 14:57:59 231
原创 test001
test0011 题目2 题解2.1 法一2.1.1 解题思路2.1.4 结果分析2.1.5 代码2.2 法二2.2.1 解题思路2.2.2 过程2.2.3 结果2.2.4 结果分析2.2.5 代码1 题目/** * (2018吉林大学941)一个长度为 n 的数组由负数、0、正数组成。编写函数,将其重新排序为前段都是负数,后段均为非负数的结构。 * 要求时间复杂度为 O(n)。 */2 题解2.1 法一2.1.1 解题思路 设置双指针,通过将负值与头指针交换,正值与尾指针交换,最
2022-05-06 14:52:30 470
原创 2021-09-27 循环双链表
//// Created by 民 on 2021/9/27.//#include <iostream>using namespace std;typedef int Elem;typedef struct DLNode{ Elem data; struct DLNode *prior; struct DLNode *next;}DLNode,*DLinkList;//双链表void Init_LinkList(DLinkList &L){
2021-09-27 12:08:25 50
原创 2021-09-27 循环单链表
//// Created by 民 on 2021/9/27.//#include <iostream>using namespace std;typedef int Elem;typedef struct LNode{ Elem data; struct LNode *next;}LNode,*CLinkList;//循环单链表void Init_CLinkList(CLinkList &L){ LNode *node = new LNode
2021-09-27 12:07:30 51
原创 2021-09-27 单链表
//// Created by 民 on 2021/9/26.//#include <iostream>using namespace std;typedef int Elem;typedef struct LNode{ Elem data; struct LNode* next;}LNode,*LinkList;//单链表void Init_LinkList(LinkList &L){ LNode *node = new LNode;//
2021-09-27 12:06:16 74
原创 2021-09-27 顺序表
顺序表void InitSqList(SqList &L){ L.data = new Elem; L.length = 0;}bool isEmpty(SqList L){ return L.length==0;}void printSqList(SqList L){ if (isEmpty(L))return ; for (int i = 0; i < L.length; ++i) { cout<<L.dat
2021-09-27 12:04:27 67
原创 PAT Practice
PAT PracticeBasic Level1001 害死人不偿命的(3n+1)猜想1、链接2、代码3、结果Basic Level1001 害死人不偿命的(3n+1)猜想1、链接链接: 1001 害死人不偿命的(3n+1)猜想.2、代码package PAT;import java.util.Scanner;/** * 卡拉兹(Callatz)猜想: * * 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。 * 这样一直反复砍
2021-04-23 12:21:20 151 1
原创 2021年2月17日 二叉树
目录1、插入节点图示2、删除节点2.1 删除的节点没有子节点2.2 删除的节点有一个子节点2.3删除节点有两个子节点3、 参考代码4、测试类5、测试结果二叉树的插入、前序遍历、中序遍历、后序遍历、查找节点、删除节点首先需要一个节点Node类public class Node { public long data; public Node leftNode; public Node rightNode; Node(long value){ this.
2021-03-01 12:25:49 259 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人