散列、散列函数、散列算法分析

散列函数、散列算法的Python语言实现
分类: 企业开发 发布时间: 03-28 10:12 阅读次数: 0

70.爬楼梯(简单)

思路:题目中问有多少种不同的方法可以爬到楼顶,很自然地想到用斐波那契数列每一次都依赖前一次的结果,则想到用dp代码:class Solution { public int climbStairs(int n) { int[] dp=new int[n+1]; dp[0]=1; dp[1]=1; for(int i=2;i<=n;i++){ dp[i]=dp[i-1]+dp[i-2]; } return dp[n]; }}..
分类: 其他 发布时间: 03-28 10:12 阅读次数: 0

198.打家劫舍(中等)

思路:每次都隔一个,每次的结果都依赖前一次的结果,想到用动态规划满足条件:1)最优子问题:最后最优解是由每一个子最优解产生2)重叠子问题:计算当前解,得重复计算前面的代码:class Solution { public int rob(int[] nums) { int n=nums.length; if(n==0) return 0; if(n==1) return nums[0]; int[] dp=new int[n+1]; .
分类: 其他 发布时间: 03-28 10:12 阅读次数: 0

javaswing单人、多人聊天室、仿QQ(含源码,包运行)

环境需求软件需求:jdk版本不限,建议采用1.7以上、myeclipse(eclipse、ieda)硬件要求:windows系统电脑一台该系统基于cs架构,即客户端和服务端,采用socket通信方式,该项目可运行在任何Java环境下配套资料项目源码(服务端、客户端)、eclipse、jdk功能需求登录、注册、聊天、文件发送功能截图主页面(登录)注册聊天界面提供源码百度云链接:https://pan.baidu.com/s/195ZqDLmVkAUOAD0As_s3bg
分类: 企业开发 发布时间: 03-28 10:12 阅读次数: 0

Ubuntu20.04最新版安装教程

**Ubuntu20.04安装教程**1,安装VMware 6首先点击新建虚拟机向导 ,跳出如图界面 直接点击下一步2. 到这一步 一定要选择稍后安装操作系统,(如图)3.在客户机操作系统这边,选择linux(L) 版本 Ubuntu 64位 如图3. 虚拟机名称是自己写,建议系统开头,以便识别、存放位置建议单独用一个文件夹、方便5.指定磁盘容量建议200G方便稍后分盘,选择将虚拟磁盘存储为单个文件6.点...
分类: 企业开发 发布时间: 03-28 10:12 阅读次数: 0

Huobi Heco&CROSS第二期盲盒游戏收官,1816美元拍下价值0.5BTC大奖

CROSS作为Huobi Global & Heco官方独家合作伙伴,是全球首个去中心化NFT发行&拍卖平台,也是行业内NFT种类最丰富的平台。在1月13日正式上线火币生态链Heco,并于2月26日和3月26日启动Mystery Box盲盒游戏,前2期上线8个与币圈主流公链、项目和媒体合作推出的联名款NFT作品,NFT总价值超500万,总奖池价值1BTC。在未开奖前每个盲盒均有25%的中奖率,盲盒只有获拍NFT成功的玩家才能打开。另外,本期Mystery Box还举办了百万Heco - .
分类: 企业开发 发布时间: 03-28 10:12 阅读次数: 0

JAVA作业——多线程抢红包

JAVA作业——抢红包大体思路代码实现大体思路红包的分发见JAVA作业——红包分发。而抢红包要解决的是线程问题。其实比较简单,设定好人数,每个人一个线程,每个线程执行一遍,有红包就抢,没有红包就抢不到,所以run函数中只要判断现在还有没有红包就可以了。代码实现import java.util.Random;import java.util.Scanner;public class Main { public static void main(String[] args) {
分类: 企业开发 发布时间: 03-28 10:12 阅读次数: 0

300.最长递增子序列(中等)

思路:序列表示是可以不连续的,依赖于前面的解,要使用动态规划(dp)代码:class Solution { public int lengthOfLIS(int[] nums) { if(nums.length==0) return 0; int[] dp=new int[nums.length+1]; //把所有dp置为1,因为就算所有都不符合,到最后一个的时候自身也符合 Arrays.fill(dp,1); int res..
分类: 其他 发布时间: 03-28 10:12 阅读次数: 0

给定一个字符串,若是回文字符串则返回该字符串,否则补充该字符串成为回文字符串

给定一个字符串,若是回文字符串则返回该字符串,否则补充该字符串成为回文字符串 def func(s: str): """ 给定一个字符串,若是回文字符串则返回该字符串,否则补充该字符串成为回文字符串 例如: case1: 输入:aba 返回:aba case2: 输入:abbc 返回:abbcbba :param s: .
分类: 其他 发布时间: 03-28 10:12 阅读次数: 0

516.最长回文子序列(中等)

思路:从长度为2开始,每个长度从左到右遍历一遍,得到该长度是否满足(重叠子问题)长度加1,比较是否满足,若不满足,则取前一次长度的最优解(最优解问题)代码:class Solution { public int longestPalindromeSubseq(String s) { int n=s.length(); //这里的dp表示长度,不表示数值 int[][] dp=new int[n][n]; //将dp的对角线元素置为1,意思是单个元素.
分类: 其他 发布时间: 03-28 10:12 阅读次数: 0

53.最大子序和(简单)

思路:和最长递增子序列以及最长回文子序列类似,都是动态规划的经典例题状态转移方程:dp[i]表示当前数之前的的最大子序和1)若dp[i-1]为正数,直接加上nums[i]即可,dp[i]=dp[i-1]+nums[i]2)若dp[i-1]为负数,则dp[i]只取nums[i]一个数,相当于重新选新的子序最终dp[i]=Math.max(dp[i-1]+nums[i],nums[i])代码1:class Solution { public int maxSubA.
分类: 其他 发布时间: 03-28 10:12 阅读次数: 0

1143.最长公共子序列(中等)

思路:状态转移方程:使用双重遍历,如果text1的下标i的字符与text2的下标j的字符相同,则dp[i][j]=dp[i-1][j-1]+1在前一个值的基础上加1如果不相同,则取text1与text2中拥有公共子序列最多的情况dp[i][j]=Math.max(dp[i-1][j],dp[i][j-1])代码:class Solution { public int longestCommonSubsequence(String text1, String tex.
分类: 其他 发布时间: 03-28 10:12 阅读次数: 0

EasyX 鼠标点击事件监听的一种优雅实现

EasyX 鼠标点击事件监听的一种优雅实现​ 最近,学校课程要求使用EasyX 实现一个小游戏或者小应用。但是无论是游戏还是应用,监听鼠标点击,并判断鼠标点击到了那里,并对此做出相应的响应都是不可避免的一个场景。​ 是的,这是个非常简单的场景,想要实现也没啥难度。参照学校给的例子和网上找到的一些实现对此的处理,基本上代码如下所示:if (msg.uMsg==WM_LBUTTONDOWN) // 如果点左键 { if((msg.x>110 && msg.x&
分类: 企业开发 发布时间: 03-28 10:12 阅读次数: 0

求数字字符串数组中,元素取整第k大的元素

求数字字符串数组中,元素取整第k大的元素import pytestclass TestHome(object): @staticmethod @pytest.mark.parametrize("k, li_str", [[2, ['68', '11', '2', '3', '23']], [3, ['68', '11', '2', '3', '23', '68']]]) def test_01(k, li_str) -> None: """ .
分类: 其他 发布时间: 03-28 10:12 阅读次数: 0

STM32通过IAP实现固件升级的分析与示例

大部分MCU都可以通过IAP对片内flash进行读写来实现固件升级。这里主要是STM32如何实现IAP升级。不同内核的stm32方式可能略有不同.这里先说F1内核的IAP过程,这里以STM32F103C8T6做示例一、片内FLASH读写实现IAP,首先要实现片内FLASH读写1、擦除程序区,调用库函数FLASH_ErasePage可以按页做擦除int FlashErase(uint32_t addr){ uint8_t retry_time; uint8_t i; .
分类: 其他 发布时间: 03-28 10:12 阅读次数: 0

QT实现串口调试助手(六):页面布局

工程源码:https://github.com/zhangfls/QT_UartAnalysisTool上一篇:INI文件存取串口信息之前没有设置页面布局,当进行放大缩小时,组件的位置还是保持原样,这样很不实用。所以要调整一下页面和组件布局1、添加horizontalLayout水平布局,将页面的组件分成3个部分:比例设置成1:6:3,当然想调成什么比例随意的2、对于中间部分的内容,使用gridLayout分成3行2列比例通过layoutRowStretch...
分类: 其他 发布时间: 03-28 10:12 阅读次数: 0

pytest标签管理

pytest标签管理创建pytest.ini文件内容如下:[pytest]markers = login: 登录测试 smoke: 冒烟测试在用例中:class TestHome(object): @staticmethod @pytest.mark.smoke @pytest.mark.parametrize("k, li_str", [[2, ['68', '11', '2', '3', '23']], [3, ['68', '11'
分类: 其他 发布时间: 03-28 10:12 阅读次数: 0

309. 最佳买卖股票时机含冷冻期(中等)

思路:分为三种情况:i)持股(dp[1])ii)不持股,不处在冰冻期(dp[0])iii)不持股,处在冰冻期(dp[2])代码:class Solution { public int maxProfit(int[] prices) { int n=prices.length; if(n<2) return 0; int[][] dp=new int[n][3]; //初始化 //0:不持股,不在冰冻期 //1:持股 //2:不持.
分类: 其他 发布时间: 03-28 10:12 阅读次数: 0

QT建立数据库连接、增删改查示例

下面主要是对mysql数据库的操作,其它的数据库操作其实也类似:1、在.pro文件中加入QT+= sql,如下图:2、添加SQL相关头文件#include <QSqlDatabase>#include <QSqlError>#include <QSqlQuery>3、连接数据库 qDebug()<<QSqlDatabase::drivers(); //查询支持的sql对象,下面调用的数据库实例QMYSQL就是从.
分类: 其他 发布时间: 03-28 10:12 阅读次数: 0

入门Redis,从底层数据结构及应用原理开始

最近入门学习Redis数据库,从最简单的内容学习,然后总结记录于此,以备忘记,也与大家共享!作为一款高性能、开源的NoSQL数据库,Redis主要采用键值对形式存储数据,用C语言开发,采用BSD协议,功能强大、支持多种数据类型,属于非关系型数据库。区别与Mysql、SQLServer、Oracle等关系型数据库。因此,Redis的特点让它具有许多优势。
分类: 其他 发布时间: 03-28 10:12 阅读次数: 0
今日推荐