当前位置: 首页 > news >正文

万链网站做的怎么样wordpress lamp lnmp

万链网站做的怎么样,wordpress lamp lnmp,做网站公司高端,网站开发项目挣钱吗4/14/2024 128.最长连续序列 自己的 这是前两天做一半的题目了。这题给我的教训就是用哈希表的时候一定一定要考虑重复元素的问题#xff01;#xff01;#xff01;#xff01; 这题让我想到了最长递增子序列#xff0c;只是名字有点像。子序列和子数组还不一样一个连续…4/14/2024 128.最长连续序列 自己的 这是前两天做一半的题目了。这题给我的教训就是用哈希表的时候一定一定要考虑重复元素的问题 这题让我想到了最长递增子序列只是名字有点像。子序列和子数组还不一样一个连续一个不连续。自己一开始的做法是把每个元素作为key是否被访问过作为value来存入hash表里然后对数组元素进行遍历访问了首先value为true然后双指针分别标记前一个数 nums-1 和后一个数nums1 分别向前和向后迭代更新指针相减即为长度迭代最大长度即可。 注意boolean的布尔类型为Boolean 一个for循环引发的错误但是你这个方法也好慢啊。。 class Solution {public int longestConsecutive(int[] nums) {HashMapInteger, Boolean hash new HashMap();int res 0;for(int x : nums){hash.put(x, false);}for(int i 0; i nums.length; i){// 原来的这个if条件写在了for循环的条件里// 这样不就只找了一次if(hash.get(nums[i]) false){//我说怎么慢访问这个元素也要改为true之前忘了hash.replace(nums[i], true);int low 0;int fast 0;int cur nums[i];while(hash.containsKey(cur - 1)){low--;hash.replace(cur - 1, true);cur cur - 1;}// 重置cur;// 相同元素cur nums[i];while(hash.containsKey(cur 1)){fast;hash.replace(cur 1, true);cur cur 1;}int p fast - low 1;res res p ? res : p;}else continue; }return res;} } 官方 128. 最长连续序列 - 力扣LeetCode 官方的题解写的挺好的用的是hashSet。特别是时间复杂度后面为什么是 O(n) 的时候。 因为每个都会被枚举 class Solution {public int longestConsecutive(int[] nums) {SetInteger num_set new HashSetInteger();for (int num : nums) {num_set.add(num);}int longestStreak 0;for (int num : num_set) {if (!num_set.contains(num - 1)) {int currentNum num;int currentStreak 1;while (num_set.contains(currentNum 1)) {currentNum 1;currentStreak 1;}longestStreak Math.max(longestStreak, currentStreak);}}return longestStreak;} } 72.编辑距离 求从word1转换到word2所需的最小操作次数。而操作包括 插入删除替换一个字符。也就是三种。 看了题解首先长度要一致如果长度 word1  word2那么word1要删除字符去对标word2也等价于word2增加字符因为求的是次数这两种次数是一样的。word1 word2那么word1要增加字符去对标word2也等价于word2删减字符。word1 word2, 长度匹配了。 那么我们如何定义dp数组的含义很巧妙的是dp[ i ][ j ]表示从word1的下标从0开始为 i 的单词转换为 word2 下标为 j 的单词的最小操作数。 分类讨论dp[ i ][ j ]从何而来多维dp也就是二维dp吧从周围的三个元素 如果已知dp[ i -1 ][ j ]也就是知道了从单词1的 i -1 个字符转换到替换为单词2 的 j 个字符所需的次数或者说从单词2的 j 转换为/替换成单词1的 i-1 的最小次数这里该怎么想呢还是看了一下题解如果想得到dp[i][j]也就是对于单词1的第 i 个字符只要在单词2的前j个单词后面添加一个相同在字符就可以得到单词1的前i个字符了。这里不要觉得添加一个字符就是j1了添加只是一个操作j代表的是当前遍历到的下标要求的是次数。而且无论dp[i][j]是从单词1还是单词2变过来的都无所谓因为是这个变化是等价的次数是一定的。可以这样理解我就看单词2的前 j 个字符固定住我知道了从单词2的前 j 个字符转换到单词1的前 i -1 个字符的编辑距离/最小操作次数为dp[i-1][j]那么从单词2的前 j 个字符转换到单词1的前 i 个字符只需要在dp[i-1][j]的这个变化的基础上单词2的前 j 个字符已经转换到单词1的前 i -1 个字符在加一次操作在单词2的前 j 个字符后加上单词1的第i个字符。 72. 编辑距离 - 力扣LeetCode class Solution {public int minDistance(String word1, String word2) {int n word1.length();int m word2.length();// 有一个字符串为空串if (n * m 0) {return n m;}// DP 数组int[][] D new int[n 1][m 1];// 边界状态初始化for (int i 0; i n 1; i) {D[i][0] i;}for (int j 0; j m 1; j) {D[0][j] j;}// 计算所有 DP 值for (int i 1; i n 1; i) {for (int j 1; j m 1; j) {int left D[i - 1][j] 1;int down D[i][j - 1] 1;int left_down D[i - 1][j - 1];if (word1.charAt(i - 1) ! word2.charAt(j - 1)) {left_down 1;}D[i][j] Math.min(left, Math.min(down, left_down));}}return D[n][m];} }
http://www.zqtcl.cn/news/378352/

相关文章:

  • 做采集网站难不做科技的网站
  • 中小微企业服务平台seo怎么提升关键词的排名
  • 优秀企业网站欣赏店名设计wordpress文章列表添加字段
  • 有哪些做软件的网站服务器安装WordPress没有权限访问
  • app开发和网站开发公司网站怎么做百度竞价
  • 医疗机构网站备案网站建设面试常见问题
  • 建设网银登录网站国内欣赏电商设计的网站
  • 自适应网站优点缺点网站上的在线答题是怎么做的
  • 查询单位信息的网站免费学编程的网站有哪些
  • 建设企业网站进去无法显示wordpress 在线课程
  • 博客型网站建设广州网站建设如何做
  • 网站导航栏全屏怎么做万年网站建设
  • flash源码网站百度关键词价格
  • 个人网站如何发布怎么做记步数的程序到网站
  • 石家庄网站制作公司排名前十可视化网站开发工具有哪些
  • 网站个人博客怎么做杭州网站改版公司电话
  • 烟台北京网站建设公司中国建筑信息资讯网
  • 硬盘做网站空间高端网站设计杭州
  • 南昌网站建设方案网站建设需求分析班级
  • 汉阳做网站关键词站长工具
  • 做海报图片的网站营销软件
  • 能先做网站再绑定域名吗石家庄公司建设网站
  • 设计网站的收费图是怎么做的公司网站简介怎么做
  • 医院网站案例结合七牛云做视频网站
  • wordpress数据库缓存插件aso优化吧
  • 网站二维码代码国贸汽车网站建设
  • 医疗网站建设多少钱信息查询类网站是怎么做的
  • 网站开发辅助工具搜索引擎推广实训
  • 如何用手机制作网站比价网站
  • 商城类网站备案四川全网推网络推广