- 博客(46)
- 收藏
- 关注
原创 53. 最大子数组和
53. 最大子数组和给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [5,4,-1,7,8]输出:23提示:1 <= nums.length <= 105-104
2022-05-14 14:42:45
239
原创 5. 最长回文子串
给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。示例 2:输入:s = “cbbd”输出:“bb”提示:1 <= s.length <= 1000s 仅由数字和英文字母组成解题思路一:动态规划法“:要计算最长的回文子串,我们首先要明白什么是回文串,回文串就是正的和倒着读是一样的,比如:上海自来水来自海上,我们可以看到,回文串中,同时去掉一前一后还是回文串,以此类推,我们可以将一
2022-05-14 11:59:14
223
原创 112. 路径总和
给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。叶子节点 是指没有子节点的节点# Definition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):#
2022-02-08 11:51:15
406
原创 401. 二进制手表
二进制手表二进制手表顶部有 4 个 LED 代表 小时(0-11),底部的 6 个 LED 代表 分钟(0-59)。每个 LED 代表一个 0 或 1,最低位在右侧。例如,下面的二进制手表读取 “3:25” 。给你一个整数 turnedOn ,表示当前亮着的 LED 的数量,返回二进制手表可以表示的所有可能时间。你可以 按任意顺序 返回答案。小时不会以零开头:例如,“01:00” 是无效的时间,正确的写法应该是 “1:00” 。分钟必须由两位数组成,可能会以零开头:例如,“10:2” 是无效
2021-06-23 23:37:55
269
3
转载 用栈实现队列
用栈实现队列请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolean empty() 如果队列为空,返回 true ;否则,返回 false说明:你只能使用标准的栈操作 —— 也就是只有 push to top, peek/pop from top, s
2021-06-23 23:21:35
81
原创 232. 用栈实现队列
请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头的元素boolean empty() 如果队列为空,返回 true ;否则,返回 false说明:你只能使用标准的栈操作 —— 也就是只有 push to top, peek/pop from top, size, 和
2021-06-07 19:26:13
75
原创 983.最低票价
在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为 days 的数组给出。每一项是一个从 1 到 365 的整数。火车票有三种不同的销售方式:一张为期一天的通行证售价为 costs[0] 美元;一张为期七天的通行证售价为 costs[1] 美元;一张为期三十天的通行证售价为 costs[2] 美元。通行证允许数天无限制的旅行。 例如,如果我们在第 2 天获得一张为期 7 天的通行证,那么我们可以连着旅行 7 天:第 2 天、第 3 天、第
2021-06-07 19:05:30
116
原创 179. 最大数
定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。示例 1:输入:nums = [10,2]输出:“210”示例 2:输入:nums = [3,30,34,5,9]输出:“9534330”示例 3:输入:nums = [1]输出:“1”示例 4:输入:nums = [10]输出:“10”提示:1 <= nums.length <= 1000 <= nums[i
2021-06-06 23:21:56
91
原创 删除二叉搜索树中的节点
给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。一般来说,删除节点可分为两个步骤:首先找到需要删除的节点;如果找到了,删除它。说明: 要求算法时间复杂度为 O(h),h 为树的高度。root = [5,3,6,2,4,null,7]key = 35/ 3 6/ \ 2 4 7给定需要删除的节点值是 3,所以我们首先找到 3 这个节点,然后删除它。
2021-05-13 12:04:33
118
原创 二叉树展开为链表
给你二叉树的根结点 root ,请你将它展开为一个单链表:展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。示例 1:输入:root = [1,2,5,3,4,null,6]输出:[1,null,2,null,3,null,4,null,5,null,6]示例 2:输入:root = []输出:[]示例 3:输入:root = [0]输出:[0]提示:树中结点
2021-05-10 12:55:57
162
原创 最大二叉树
给定一个不含重复元素的整数数组 nums 。一个以此数组直接递归构建的 最大二叉树 定义如下:二叉树的根是数组 nums 中的最大元素。左子树是通过数组中 最大值左边部分 递归构造出的最大二叉树。右子树是通过数组中 最大值右边部分 递归构造出的最大二叉树。返回有给定数组 nums 构建的 最大二叉树 。示例 1:输入:nums = [3,2,1,6,0,5]输出:[6,3,5,null,2,0,null,null,1]解释:递归调用如下所示:[3,2,1,6,0,5] 中的最大值是 6
2021-05-01 16:53:34
447
原创 除数博弈
爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作:选出任一 x,满足 0 < x < N 且 N % x == 0 。用 N - x 替换黑板上的数字 N 。如果玩家无法执行这些操作,就会输掉游戏。只有在爱丽丝在游戏中取得胜利时才返回 True,否则返回 false。假设两个玩家都以最佳状态参与游戏。示例 1:输入:2输出:true解释:爱丽丝选择 1,鲍勃无法进行操作。示例 2:输入:3输出:f
2021-04-30 17:40:55
163
1
原创 使用最小花费爬楼梯
数组的每个索引做为一个阶梯,第i个阶梯对应着一个非负数的体力花费值 costi。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。示例 1:输入: cost = [10, 15, 20]输出: 15解释: 最低花费是从cost[1]开始,然后走两步即可到阶梯顶,一共花费15。示例 2:输入: cost = [1, 100, 1, 1, 1, 100, 1,
2021-04-30 17:27:09
141
1
原创 判断子序列
给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"ae c"不是)。示例 1:s = “abc”, t = “ahbgdc”返回 true.示例 2:s = “axc”, t = “ahb
2021-04-30 17:21:28
124
1
原创 二叉树的最大深度
二叉树的最大深度`给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回它的最大深度 3 。设计思想:方法一:深度优先搜索思路与算法如果我们知道了左子树和右子树的最大深度 ll 和 rr,那么该二叉树的最大深度即为max(l,r)+1而左子树和右子树的最大深度又可以以同样的方式进行计算。因此我们可以
2021-04-30 17:13:25
142
1
原创 数据库和数据仓库的区别
1、数据库和数据仓库有什么区别?数据库用于在线事务处理(OLTP),但可用于其他目的,如数据仓库。这会记录用户的历史数据。 表和连接很复杂,因为它们是标准化的(对于RDMS)。这样做是为了减少冗余数据并节省存储空间。 实体 - 关系建模技术用于RDMS数据库设计。 针对写入操作进行了优化。 分析查询的性能很低。数据仓库用于在线分析处理(OLAP)。这将读取用户的业务决策的历史...
2019-07-01 16:33:42
151
原创 编写一个可变颜色的标签,用一个按钮控制颜色的改变与停止.点击按钮颜色停止变化,
编写一个可变颜色的标签,用一个按钮控制颜色的改变与停止.点击按钮颜色停止变化,importjava.awt.Button;importjava.awt.Color;importjava.awt.FlowLayout;importjava.awt.Frame;importjava.awt.event.ActionEvent;import java.awt.event...
2018-11-24 15:11:22
1569
原创 编写选号程序,在窗体中安排6个标签,每个标签上显示0~9之间的以为数字,每位数字用一个线程控制其变化,点击“停止”按钮则所有标签停止变化
编写选号程序,在窗体中安排6个标签,每个标签上显示0~9之间的以为数字,每位数字用一个线程控制其变化,点击“停止”按钮则所有标签停止变化package test; importjava.awt.Button;importjava.awt.FlowLayout;importjava.awt.Frame;importjava.awt.Label;impo...
2018-11-24 15:09:40
2369
原创 二分法查找
对于一个有序数组,我们通常采用二分查找的方式来定位某一元素,请编写二分查找的算法,在数组中查找指定元素。给定一个整数数组A及它的大小n,同时给定要查找的元素val,请返回它在数组中的位置(从0开始),若不存在该元素,返回-1。若该元素出现多次,请返回第一次出现的位置。 测试样例: [1,3,5,7,9],5,3 返回:1public class Solution{ //if ...
2018-07-01 19:21:30
154
原创 平衡二叉树
#include "stdio.h" #include "stdlib.h" #include "io.h" #include "math.h" #include "time.h"#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 100 /* 存储空间初始分配量 */...
2018-06-24 20:04:51
125
原创 散列表
#include "stdio.h" #include "stdlib.h" #include "io.h" #include "math.h" #include "time.h"#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 100 /* 存储空间初始分配量 */...
2018-06-24 20:03:39
127
原创 水仙花
春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。 现在要求输出所有在m和n范围内的水仙花数。输入描述: 输入数据有多组,每组占一行,包括两个整数m和n(100 ≤ m ≤ n ≤ 999)。#include&amp;lt;cstdio&amp;gt;int t;...
2018-06-16 22:00:13
293
原创 排序
/* 对顺序表L作交换排序(冒泡排序初级版) */void BubbleSort0(SqList *L){ int i,j; for(i=1;i<L->length;i++) { for(j=i+1;j<=L->length;j++) { if(L->r[i]>L->r[...
2018-06-09 19:56:20
178
原创 风口之下,猪都能飞。当今中国股市牛市,真可谓“错过等七年”。 给你一个回顾历史的机会,已知一支股票连续n天的价格走势,以长度为n的整数数组表示,数组中第i个元素(prices[i])代表该股票第i天的
风口之下,猪都能飞。当今中国股市牛市,真可谓“错过等七年”。给你一个回顾历史的机会,已知一支股票连续Ñ天的价格走势,以长度为Ñ的整数数组表示,数组中第我个元素(价格[1])代表该股票第我天的股价。假设你一开始没有股票,但有至多两次买入1股而后卖出1股的机会,并且买入前一定要先保证手上没有股票若两次交易机会都放弃,收益为0.设计算法,计算你能获得的最大收益输入数值范围:2 &lt;= N &lt;=...
2018-06-09 19:38:20
399
原创 八皇后问题
int notdanger(int i,int j){ int k=1; for (k = 1; i &amp;amp;amp;gt;= k &amp;amp;amp;amp;&amp;amp;amp;amp; j &amp;amp;amp;gt;= k; k++) { if (a[i-k][j-k]) { return 0; } }
2018-06-02 17:36:55
156
原创 二进制转化为十进制
#include<stdio.h>#include<stdlib.h>#include<math.h>#define Stack_INIT_SIZE 20#define StackINCREMENT 10typedef char ElemType;typedef struct{ ElemType *base; ElemType *top; int stacksi...
2018-05-29 13:18:50
370
原创 KMP算法
#include<iostream>#include<string>using namespace std;int kmp_index(const string &,const string &,int);void get_next(const string &,int *,int);void get_nextval(const string &am...
2018-05-27 14:12:11
144
原创 二叉树的遍历
#include<stdio.h>#include<stdlib.h>typedef char ElemType;typedef struct BinaryTreeNode{ElemType Data;struct BinaryTreeNode * lChild,*rChild;}BinaryTreeNode;BinaryTreeNode * PreCreateBt(Bin...
2018-05-19 21:17:17
126
原创 二叉树
#include<iostream>#include<stdlib.h>using namespace std;typedef char ElemType;//二叉树的二叉链表结构,也就是二叉树的存储结构,1个数据域,2个指针域(分别指向左右孩子)typedef struct BiTNode{ ElemType data; struct BiTNode *lc...
2018-05-19 21:16:06
141
原创 定义圆类,它有一个变量radius(半径)。从键盘输入数据,通过构造方法传递给radius, 编程计算并输出圆的周长和面积(确保输入的 数据不为负数)。
import java.util.Scanner;class Radius{ private double r1; public Radius(double r){ this.r1 = r; } double Collect(){ return 2*Math.PI*this.r1; } double Area(){ return Math.PI*this.r1*this...
2018-04-20 08:10:58
5563
原创 定义一个交通工具(Vehicle)的类其中有: 属性速度(speed)体积(size)等等 方法移动(move())设置速度(setSpeed(int speed))加速speedUp(),减速s
class Vehicle { int speed,size,SpeedUp,SpeedDown; double move; int ChangeSpeedup; int ChangeSpeeddown; Vehicle() { } Vehicle(int r, int i) { speed = r; ...
2018-04-20 08:10:24
8302
原创 编写程序使用复数类Complex验证两个复数 2+2i 和3+3i 相加产生一个新的复数5+5i 。复数类Complex满足如下要求: (1)属性:RealPart : int型,代表复数的实数部分;
package TComplex;class Complex{ private int RealPart; private int ImaginPart; Complex(){ this.RealPart = 0; this.ImaginPart = 0; } Complex(int r, int i){ RealPart = r; ImaginPart = i;...
2018-04-20 08:09:47
9661
6
原创 定义一个计算器类,包括加、减、乘、除运算。
package counter;import java.util.Scanner;public class Counter { public static void main(String[] args) { Scanner m= new Scanner(System.in); System.out.println("请输入第一个要计算的数:"); double num1 = m.nextD...
2018-04-20 08:09:12
13073
原创 、定义长方形类,含: 属性:宽、高(整型);方法:求周长、面积; 构造方法3个:(1)无参数——宽、高默认值为1;(2)1个参数——宽、高均为参数值;(3)2个参数——宽、高各为参数值。
package changfangxing;import java.util.Scanner;class Rectangle{ private int Length; private int Height; int Collect(){ Rect(); return (Length+Height)*2; } int Area(){ Rect(); return Length*Height;...
2018-04-20 08:08:33
6705
原创 使用类的静态变量和构造方法,可以跟踪某个类创建的对象个数。声明一个图书类,数据成员为编号,书名,书价,并拥有静态数据成员册数记录图书的总数。图书编号从1000开始, 每产生一个对象,则编号自动递增(
package b;class Book{private int bookId;private String bookName;private double price;private static int ZS;private static int BH;static{ZS=0;BH=1000;}public Book(String bookName,double price){ this.b...
2018-04-20 08:07:52
3679
原创 循环队列
#include"stdio.h"#include"stdlib.h"#define FALSE 0#define TRUE 1typedef int ElemType;typedef struct{ int front; int rear; int maxsize; ElemType *element;}Queue;void create(Queue *Q, int msize){ Q->...
2018-04-11 21:40:02
2753
原创 堆栈顺序
#pragma warning(disable:4996)#include"stdlib.h"#include"stdio.h"#include<malloc.h> #define bool int#define FALSE 0#define TRUE 1typedef int ElemType;typedef struct{ int top; int maxSize; ElemTy...
2018-04-11 21:39:23
291
原创 已知某学生三科考试成绩,试求此学生考试成绩总和及平均分,要求平均分保留2位小数。
import java.util.Scanner;public class average { public static void main(String[] args) { Scanner ina =new Scanner(System.in); int a = ina.nextInt(); Scanner inb =new Scanner(System.in); int b = i...
2018-04-11 20:12:44
6925
原创 :有一个卡车司机肇事后想逃跑,但是被三个人看见了其车牌号,但是都没看全, 甲说:车牌的前两位是一样的;乙说:车牌的后两位是一样的,但与前两位不一样; 丙说:车牌是一个数字的平方,请编写一个程序计算
public class Jixiong { public static void main(String[] args) { int a,b; for(int j=32;j<99;j++) { int m=j*j; for(a=1;a<10;a++) for(b=1;b<10;b++) if(a*1000+a*100+b*10+b==m) ...
2018-04-11 20:11:31
5340
5
原创 (几何方面:六边形面积)编写程序,提示用户输入六边形的边长,然后输出显示它的面积。 计算六边形面积的公式是:area= s2 这里的s就是边长。下面是一个运行示例: 请输入边长:5.5
import java.util.Scanner;public class Hexagon { public static void main(String[] args) { Scanner ins =new Scanner(System.in); double S= ins.nextDouble(); double Area = 0; Area= 3*Math.sqrt(3)/2*M...
2018-04-11 20:10:57
3669
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人