首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
课程
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
CN_Dian
获赞
6
粉丝
0
关注
0
看过 TA
1
桂林电子科技大学
2018
Java
IP属地:未知
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑CN_Dian吗?
发布(4)
刷题
CN_Dian
2022-04-27 00:59
Java
题解 | #判断是不是子字符串#Java语言#
题目分析: * 给定两个字符串 s和 t ,判断 s是否为 t 的子序列。 * 你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度n ~= 500,000),而 s 是个短字符串(长度 <=100)。 * * 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。 * 意思就是子序列t的所有字符在s中都会按顺序出现 * * 进阶:时间复杂度O(n) ,空间复杂度O(n) ...
0
点赞
评论
收藏
分享
CN_Dian
2022-03-26 11:44
Java
题解 | #求最大连续bit数#
这道题可以使用字符串分割解决,但是是取巧的方式,不推荐。根据这道题考的知识点出发去解决,解题过程可以学到很多相关技巧。 思路: 首先我们需要掌握二进制“有符号右移”“无符号右移”知识,去相关博客搜索,半个小时就能学会。考虑到输入可能会有负数,负数二进制右移高位补1,会影响结果。所以我们需要使用无符号右移。我们只需要每次右移一位,然后判断右移后的二进制码末位是否为1(右移后的数&1),以下为基于二进制右移知识基础的演算过程: 假设 n=8; 1、8=(1000), (1000)&(0001)=0, n=8&g...
0
点赞
评论
收藏
分享
CN_Dian
2022-03-26 00:29
Java
题解 | #公共子串计算#
使用动态规划,先根据两个字符串列出表格: 直接遍历两个字符串的字符,使用二维数组dp[i][j]保存结果,对于dp[i][j]有两种取值情况: 1.s1[i] == s2[j],这种情况dp[i][j]的值就设置为1,然后加上左上角(dp[i-1][j-1])的值,也就是匹配到一个字符相等,就看下前一个字符是否也是相等的;最终得出公式是:s1[i] == s2[j]时,dp[i][j] = dp[i-1][j-1] + 1。 2.s1[i] != s2[j],这种情况简单,dp[i][j] = 0. 现在开始分析数据边界问题,以上第一种情况,i和j==0且s1[i]==s2[j]时,套用公式...
0
点赞
评论
收藏
分享
CN_Dian
2022-03-24 23:20
已编辑
Java
题解 | #尼科彻斯定理#
根据公式规律得:每个奇数的差值是2, 所以我们只要循环底数的次数就可以得出公式,在此之前则需要先找出公式的第一个奇数是什么。 可以用反推的方式(笨一点的方法): long cube = bottomNum * bottomNum * bottomNum; int x = 0; // 根据底数算出分散在最终公式各个奇数上的总数x for (int i = 1; i <= bottomNum; i++ ) { x += 2 * i; ...
0
点赞
评论
收藏
分享
1
工具箱
TA的圈子
暂未加入圈子
TA的圈子
TA的笔记
暂无笔记
TA的笔记
登录
0
天
已登录
0
天
连续登录
0
人
今日访客
牛客网
牛客企业服务