牛客网刷题-数组中相加和为0的三元组

问题描述给出一个有n个元素的数组S,S中是否有元素a,b,c满足a+b+c=0?找出数组S中所有满足条件的三元组。注意:三元组(a、b、c)中的元素必须按非降序排列。(即a≤b≤c)解集中不能包含重复的三元组。输入描述:输入一个数组输出描述:输出三个数和为0的数组集合示例示例1输入[-2,0,1,1,2]输出[[-2,0,2],[-2,1,1]]解决思路分析采用三个指针下标的方法,下标 i 可以作为遍历数组的下标,left 为大于 i 的左下标,right
分类: 其他 发布时间: 02-27 08:16 阅读次数: 0

牛客网刷题-将字符串转化为整数

问题描述实现函数 atoi 。函数的功能为将字符串转化为整数提示:仔细思考所有可能的输入情况。这个问题没有给出输入的限制,你需要自己考虑所有可能的情况。输入描述:输入一个字符串输出描述:输出字符串的整数示例示例1输入“123”输出123解决思路分析通过遍历方式加和计算,注意需要处理正负号和字母的情况,以及数越界的情况。方法通过遍历方式加和计算,注意需要处理正负号和字母的情况,以及数越界的情况。代码实现// 思路1public class Sol
分类: 其他 发布时间: 02-27 08:15 阅读次数: 0

牛客网刷题-两个链表生成相加链表

问题描述假设链表中每一个节点的值都在 0 - 9 之间,那么链表整体就可以代表一个整数。给定两个这种链表,请生成代表两个整数相加值的结果链表。例如:链表 1 为 9->3->7,链表 2 为 6->3,最后生成新的结果链表为 1->0->0->0。输入描述:输入两个链表输出描述:输出两个链表和的集合示例示例1输入[9,3,7],[6,3]输出{1,0,0,0}解决思路分析链表正序没法计算,因为需要考虑进位的问题,所以我们需
分类: 其他 发布时间: 02-27 08:15 阅读次数: 0

牛客网刷题-数组中未出现的最小正整数

问题描述给定一个无序数组arr,找到数组中未出现的最小正整数例如arr = [-1, 2, 3, 4]。返回1arr = [1, 2, 3, 4]。返回5输入描述:输入一个数组输出描述:输出数组中未出现的最小正整数示例示例1输入[-1, 2, 3, 4]输出1解决思路分析通过遍历数组的方式查找最小的正整数,可以事先添加正整数变量,方便判断 。方法通过遍历数组的方式查找最小的正整数,可以事先添加正整数变量,方便判断 。代码实现// 思路1pub
分类: 其他 发布时间: 02-27 08:15 阅读次数: 0

牛客网刷题-最长公共子串

问题描述给定两个字符串str1和str2,输出两个字符串的最长公共子串,如果最长公共子串为空,输出-1。输入描述:输入两个字符串输出描述:输出最长公共子串示例示例1输入“1AB2345CD”,“12345EF”输出“2345”解决思路分析最长公共子序列(Longest Common Subsequence,简称 LCS)是一道非常经典的面试题目,因为它的解法是典型的二维动态规划,大部分比较困难的字符串问题都和这个问题一个套路。方法介绍(1)dp数组的定义:i
分类: 其他 发布时间: 02-27 08:15 阅读次数: 0

牛客网刷题-两个链表的第一个公共结点

问题描述输入两个链表,找出它们的第一个公共结点。输入描述:输入两个链表输出描述:输出第一个公共节点示例示例1输入4->1->8->4->5;5->0->8->4->5输出8->4->5解决思路分析遍历链表1,使用额外的空间存储,遍历链表2,查找是否有相同的元素,相同为第一个公共节点。2.使用双指针法,但是双指针法的前提是遍历的链表的长度有规律,但是这两个链表第一个公共节点前的长度可能不一样,这里我们主
分类: 其他 发布时间: 02-27 08:14 阅读次数: 0

牛客网刷题-二叉树的之字形层序遍历

问题描述给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替)输入描述:输入一棵树输出描述:输出树的之字形遍历示例示例1输入{3,9,20,#,#,15,7}输出[[3],[20,9],[15,7]]解决思路分析本地很明显是一道广度优先搜索(bfs)的题目,广度优先搜索一般会借助队列这种数据结构,遍历每一层的节点,然后依次加入左节点和右节点,通过flag判断是否需要做结果的反转。方法广度优先搜索代码实现
分类: 其他 发布时间: 02-27 08:14 阅读次数: 0

牛客网刷题-买卖股票的最好时机

问题描述假设你有一个数组,其中第\ i i 个元素是股票在第\ i i 天的价格。你有一次买入和卖出的机会。(只有买入了股票以后才能卖出)。请你设计一个算法来计算可以获得的最大收益。输入描述:输入一个数组输出描述:输出最大的收益示例示例1输入[1,4,2]输出3解决思路分析因为只能买入一次,所以数据只能遍历一次,我们可以通过遍历的记录出现的历史低价,然后以当前价格做卖出得到的最大收益。最高的收益 = 最高的卖出价格 - 最低的买入价格。方法通过遍历的
分类: 其他 发布时间: 02-27 08:14 阅读次数: 0

牛客网刷题-设计getMin功能的栈

问题描述实现一个特殊功能的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。有三种操作种类,op1表示push,op2表示pop,op3表示getMin。你需要返回和op3出现次数一样多的数组,表示每次getMin的答案1<=操作总数<=1000000-1000000<=每个操作数<=1000000数据保证没有不合法的操作输入描述:输入一个二维数组输出描述:输出一个一维数组(当前栈的最小元素)示例示例1输入[[1,3],[1,2],[1
分类: 其他 发布时间: 02-27 08:14 阅读次数: 0

牛客网刷题-用两个栈实现队列

问题描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。栈:先进后出队列:先进先出示例示例1push:1,2,3pop:3,2,1解决思路分析因为栈跟队列出入的顺序是相反的,所以我们可以借助两个栈解决问题,stack1负责存储push的数据,stack2负责在pop操作的时候,将statk1的输入依次压入stack2,这样出栈的顺序就变成了出队列的顺序。代码实现// 思路1public class Solution { //
分类: 其他 发布时间: 02-27 08:13 阅读次数: 0

牛客网刷题-设计LRU缓存结构

问题描述题目描述设计LRU缓存结构,该结构在构造时确定大小,假设大小为K,并有如下两个功能set(key, value):将记录(key, value)插入该结构get(key):返回key对应的value值[要求]set和get方法的时间复杂度为O(1)某个key的set或get操作一旦发生,认为这个key的记录成了最常使用的。当缓存的大小超过K时,移除最不经常使用的记录,即set或get最久远的。若opt=1,接下来两个整数x, y,表示set(x, y)若opt=2,接下来一个整数
分类: 其他 发布时间: 02-27 08:13 阅读次数: 0

牛客网刷题-容器盛水问题

问题描述容器最多能称多少水,因为容器的高度是一个数组,我们可以通过遍历数组,计算每一格子的盛水量,累加得最高的盛水量。示例示例1输入[3,1,2,5,2,4]输出5解决思路分析容器最多能称多少水,因为容器的高度是一个数组,我们可以通过遍历数组,计算每一格子的盛水量,累加得最高的盛水量。方法暴力求解:遍历元素,以当前元素为基准,向左找最高的高度leftHeight,向右找最高的高度rightHeight,计算当前格子的盛水量:water=min(leftHeight, r
分类: 其他 发布时间: 02-27 08:13 阅读次数: 0

牛客网刷题-岛屿数量

问题描述给一个01矩阵,1代表是陆地,0代表海洋, 如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左右为相邻。岛屿: 相邻陆地可以组成一个岛屿(相邻:上下左右) 判断岛屿个数。示例示例1输入[[1,1,0,0,0],[0,1,0,1,1],[0,0,0,1,1],[0,0,0,0,0],[0,0,1,1,1]]输出3解决思路分析遍历数组,将相邻的岛屿的置为1(可以通过dfs或bfs的方式),然后继续判断。方法dfs:从一个为1的根节点开始访问,从每个相邻1节
分类: 其他 发布时间: 02-27 08:12 阅读次数: 0

牛客网刷题-子数组的最大累加和问题

问题描述给定一个数组arr,返回子数组的最大累加和(题目保证没有全为负数的数据)例如,arr = [1, -2, 3, 5, -2, 6, -1],所有子数组中,[3, 5, -2, 6]可以累加出最大的和12,所以返回12。示例示例1输入[1, -2, 3, 5, -2, 6, -1]输出12解决思路分析通过遍历累加的方式可以求和,累加和与当前值比较,取大的代码实现// 思路1public class Solution { public int maxs
分类: 其他 发布时间: 02-27 08:12 阅读次数: 0

WinForm(C#):登录页面实现+SQL Server数据库连接方式

登录页面后台验证using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms; namespace MES_SimpleDemo{
分类: 其他 发布时间: 02-27 08:12 阅读次数: 0

winform中导入excel表格

winform中导入表格的方法有很多种,这里是用Gridview来存放从表格中导入的数据的,当然在此之前你要先从工具栏中拖一个openFileDialog进来才能用//导入按钮点击事件private void btnImport_Click(object sender, System.EventArgs e){//选择文件this.openFileDialog1.Filter = "导入文件 (*.xls)|*.xls|所有文件 (*.*)|*.*";
分类: 其他 发布时间: 02-27 08:11 阅读次数: 0

C#基础知识之读取xlsx文件Excel2007

读取Excel 2007的xlsx文件和读取老的.xls文件是一样的,都是用Oledb读取,仅仅连接字符串不同而已。具体代码实例:public static DataTable GetExcelToDataTableBySheet(string FileFullPath,string SheetName){ //此连接只能操作Excel2007之前(.xls)文件  string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data so
分类: 其他 发布时间: 02-27 08:11 阅读次数: 0

winform 中导入excel时提示“未在本地计算机上注册“microsoft.ACE.oledb.12.0”

下载安装AccessDatabaseEngine若仍不起作用,则根据安装环境修改参考:https://blog.csdn.net/lq18804095672/article/details/107150245/https://yangxiaohui.blog.csdn.net/article/details/79367114?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.not_use_machin
分类: 其他 发布时间: 02-27 08:11 阅读次数: 0

C# winform程序运行在XP

开发程序本地相关环境:win10 ,VS2019, .NET Framework 4.7.2目标机操作系统为XP过程:重新打包1.项目,右键,属性,目标框架选择.NET Framework 42.目标平台,选择X863.重新生成出现报错,将项目using System.Linq;和using System.Threading.Tasks注释掉,原因为不受到旧版本的框架支持4.不巧的是此次项目中用到了Newtonsoft.Json.Linq,若注释则报错,不注释也提示未引用。经搜素,该dl
分类: 其他 发布时间: 02-27 08:11 阅读次数: 0

C# winform界面上传附件到服务器(springboot)

桌面前端参考界面浏览按钮参考代码:private void btnBrower_Click(object sender, EventArgs e) { //创建文件弹出选择窗口(包括文件名)对象 OpenFileDialog ofd = new OpenFileDialog(); //判断选择的路径 if (ofd.ShowDialog() == DialogResult.OK)
分类: 其他 发布时间: 02-27 08:10 阅读次数: 0