
在线Oj
不想秃头Q-Q
这个作者很懒,什么都没留下…
展开
-
Java四数相加Ⅱ
454. 四数相加Ⅱ解题思路:利用哈希表存储将四个数组两两分为一组先求出nums1和nums2两个数组任意两数之和tmp, 以tmp为key, tmp出现的次数为value, 存入hashmap中再求出nums3和nums4两个数组任意两数之和, 令tmp等于这两数之和的相反数, 在hashmap中查找是否存在key为tmpclass Solution { public int fourSumCount(int[] nums1, int[] nums2, int[] nu.原创 2022-04-22 09:46:05 · 821 阅读 · 0 评论 -
Java乒乓球筐
import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNextLine()){ String s = sc.nextLine(); String[] str = s.split(" "); S...原创 2022-04-21 11:16:19 · 455 阅读 · 0 评论 -
Java骆驼命名法
骆驼命名法:import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNextLine()){ String str = sc.nextLine(); String[] str1 = str.split("_"); .原创 2022-04-18 21:15:27 · 233 阅读 · 0 评论 -
Java单词倒排(正则表达式、trim()方法)
单词倒排import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String str = sc.nextLine(); String[] str1 = str.split("[^a-zA-Z]+"); //上面两行也可以写成 //Strin.原创 2022-04-18 20:58:50 · 409 阅读 · 0 评论 -
Java两个数组的交集Ⅰ和Ⅱ(Set、双指针)
349. 两个数组的交集class Solution { public int[] intersection(int[] nums1, int[] nums2) { if(nums1 == null || nums1.length == 0 || nums2 == null || nums2.length == 0){ return new int[0]; } Set<Integer> set1 = new .原创 2022-04-18 17:06:54 · 219 阅读 · 0 评论 -
Java有效的字母异位词(赎金信)
242. 有效的字母异位词解题思路:新建一个数组arr用来记录字符串中字符出现的次数把字符映射到数组也就是哈希表的索引下标上字符a映射下标为0, z映射下标为25如果字符串s中出现字符c, 则+1如果字符串t中出现字符c, 则-1如果arr中有 等于 0的元素, 说明s和t中所有字符相等如果arr中有 不等于 0的元素, 说明s和t中就有字符不相等class Solution { public boolean isAnagram(String s, String t) { .原创 2022-04-17 16:59:02 · 396 阅读 · 0 评论 -
Java螺旋矩阵 Ⅱ(模拟、顺时针打印矩阵)
59. 螺旋矩阵 Ⅱclass Solution { public int[][] generateMatrix(int n) { int l = 0, r = n - 1, t = 0, b = n - 1; int[][] mat = new int[n][n]; int num = 1, tar = n * n; while(num <= tar){ for(int i = l; i <.原创 2022-04-16 16:52:11 · 136 阅读 · 0 评论 -
Java Emacs计算器
import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ Stack<Integer> stack = new Stack<>(); int n = sc.nextInt();...原创 2022-04-14 20:27:05 · 142 阅读 · 0 评论 -
Java最长递增子序列(动态规划)
300. 最长递增子序列https://leetcode-cn.com/problems/longest-increasing-subsequence///dp[i]的值代表以nums[i]结尾的最长子序列长度//dp[i] 所有元素置 1 //含义是每个元素都至少可以单独成为子序列,此时长度都为 1class Solution { public int lengthOfLIS(int[] nums) { if(nums.length == 0){ .原创 2022-04-13 21:29:07 · 2812 阅读 · 0 评论 -
Java盛最多水的容器
11. 盛最多水的容器class Solution { public int maxArea(int[] height) { //res表示容水量 int i = 0, j = height.length - 1, res = 0; while(i < j){ int h = Math.min(height[i], height[j]); res = Math.max(res, h * (j.原创 2022-04-10 20:16:34 · 624 阅读 · 0 评论 -
Java大写字母转换成小写字母(小转大、与或异或运算)
题目链接:https://leetcode-cn.com/problems/to-lower-case/解题思路1:使用语言自带的APIclass Solution { public String toLowerCase(String s) { return s.toLowerCase(); //return s.toUpperCase(); }}解题思路2:大写字母 A~Z 的 ASCII 码范围为 [65, 90]小写字母 a~z原创 2022-04-08 21:13:27 · 14247 阅读 · 0 评论 -
【牛客网】因子个数
题目链接:https://www.nowcoder.com/questionTerminal/e8fb8f89f5d147ec92fd8ecfefe89b0d解题思路:n = x * y如果x <= y, 那么x一定在[2, n的1/2次方]的范围内即在[2, n的1/2次方]的范围内, 一定能找到n的因子import java.util.*;public class Main{ public static void main(String[] args){原创 2022-04-04 10:37:30 · 347 阅读 · 0 评论 -
【牛客网】求整数数组的最小不可组成和(动态规划---01背包问题)
题目链接:https://www.nowcoder.com/questionTerminal/296c2c18037843a7b719cf4c9c0144e4public class Solution { /** * 正数数组中的最小不可组成和 * 输入:正数数组arr * 返回:正数数组中的最小不可组成和 */ public int getFirstUnFormedNum(int[] arr) { int min = Integer.MAX_VALUE;原创 2022-04-03 20:25:20 · 273 阅读 · 0 评论 -
【牛客网】有假币(三分法)
题目链接:https://www.nowcoder.com/questionTerminal/1d18c0841e64454cbc3afaea05e2f63c解题思路:假币的重量比真币的重量轻将零钱分为A, B, C三份若A > B, 假币在B中若A < B, 假币在A中若A = B, 假币在C中import java.util.*;public class Main{ public static void main(String[] args){原创 2022-04-03 16:43:00 · 741 阅读 · 0 评论 -
Java收件人列表
解题思路:将字符串拼接如果字符串中存在","或者" ", 那么先添加" 再添加该字符串再添加"同时再判断是否遍历到了最后一个字符串, 如果不是, 再添加","注:输入n时需要从nextLine()转为int如果直接写成int n = sc.nextInt();会影响名字的读取(即不会按行读取名字字符串)import java.util.*;public class Main{ public static void main(String[] args){ Sca...原创 2022-03-30 21:20:48 · 565 阅读 · 0 评论 -
【牛客网】星际密码(斐波那契数列)
题目链接:https://www.nowcoder.com/questionTerminal/34f17d5f2a8240bea661a23ec095a062解题思路:很难发现,这是斐波那契数列要是发现了,这题也就好做了import java.util.*;public class Main{ public static void main(String[] args){ int[] nums = new int[10001]; nums[1]原创 2022-03-30 11:29:05 · 585 阅读 · 1 评论 -
剪花布条, 客似云来
import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ String str1 = sc.next();//next() 遇到空格就停止读取 String str2 = sc.next(); ...原创 2022-03-29 20:43:36 · 265 阅读 · 0 评论 -
【牛客网】HJ43 迷宫问题(动态规划)
题目链接:https://www.nowcoder.com/practice/cf24906056f4488c9ddb132f317e03bc?tpId=37&&tqId=21266&rp=1&ru=/activity/oj&qru=/ta/huawei/question-rankingimport java.util.*;import java.io.*;class Node{ int x; int y; public Node原创 2022-03-29 15:45:43 · 1959 阅读 · 0 评论 -
【牛客网】JD1 年终奖(动态规划)
题目链接:https://www.nowcoder.com/practice/72a99e28381a407991f2c96d8cb238ab?tpId=49&&tqId=29305&rp=1&ru=/activity/oj&qru=/ta/2016test/question-ranking解题思路:定义F(i, j)表示从左上角走到坐标(i, j)处能获得的最大奖励F(i, j)分三种情况:第一列:java F(i, 0) = F(i-1, 0)原创 2022-03-29 10:33:51 · 282 阅读 · 0 评论 -
【牛客网】HJ52 计算字符串的编辑距离(动态规划)
题目链接:https://www.nowcoder.com/practice/3959837097c7413a961a135d7104c314?tpId=37&&tqId=21275&rp=1&ru=/activity/oj&qru=/ta/huawei/question-ranking解题思路:问题: 字符串A转换成字符串B的编辑距离子问题: 字符串A的一部分转换成字符串B的一部分的编辑距离状态F(i, j): 字符串A的前i个字符转换成字符串B的前原创 2022-03-26 21:27:43 · 777 阅读 · 0 评论 -
Java猴子分桃
解题思路:假设最初总共有x个桃子, 我们借给猴子4个, 目的是为了能将桃子完整的分为5堆, 则最开始有x + 4个桃子第一个猴子分到 (x + 4) / 5个, 剩余(x + 4) * (4 / 5)个第二个猴子分完剩余(x + 4) * (4 / 5) ^ 2个第三个猴子分完 剩余(x + 4) * (4 / 5) ^ 3个第四个猴子分完剩余(x + 4) * (4 / 5) ^ 4个…以此类推, 第n个猴子分完剩余(x + 4) * (4 / 5) ^ n个要满足的条件就是剩余的...原创 2022-03-23 20:12:08 · 934 阅读 · 0 评论 -
Java三角形
解题思路:其实这题挺简单的, 唯一的一个小坑就是图中红框的部分和求数根这个题有点相似, 不过这个题不用字符串那么麻烦, 直接使用double类型就可以import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ doubl...原创 2022-03-22 20:51:12 · 401 阅读 · 0 评论 -
Java数根
解题思路:注意!!!此题有一个坑, 就是上图红框里的部分, 如果踩坑了, 代码就如下import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ int n = sc.nextInt(); int ...原创 2022-03-20 19:54:23 · 605 阅读 · 0 评论 -
【牛客网】HJ65 查找两个字符串a,b中的最长公共子串(动态规划)
题目链接:https://www.nowcoder.com/practice/181a1a71c7574266ad07f9739f791506?tpId=37&&tqId=21288&rp=1&ru=/activity/oj&qru=/ta/huawei/question-rankingimport java.util.*;import java.io.*;public class Main{ public static String getN原创 2022-03-18 14:54:04 · 1284 阅读 · 0 评论 -
Java微信红包
解题思路1:先将数组排序, 如果存在某个红包金额出现的次数超过红包总数的一半, 那么这个金额数必定在数组的中间, 即mid将这个数组遍历, 如果出现金额数和mid相等, 次数count++判断如果次数count > n / 2, 说明这个金额数mid就是题目中所求红包得金额import java.util.*;public class Gift { public int getValue(int[] gifts, int n) { Arrays.sort(gi...原创 2022-03-18 09:22:44 · 679 阅读 · 0 评论 -
【牛客网】小易的升级之路
import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ int n = sc.nextInt();//n表示怪物个数 int c = sc.nextInt();//c表示小易当前能力值 ...原创 2022-03-17 11:56:41 · 227 阅读 · 0 评论 -
【牛客网】找出字符串中第一个只出现一次的字符(indexOf)
题目链接:https://www.nowcoder.com/questionTerminal/e896d0f82f1246a3aa7b232ce38029d4import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String str = sc.nextLine();原创 2022-03-17 10:52:22 · 349 阅读 · 0 评论 -
【牛客网】HJ53 杨辉三角的变形
题目链接:https://www.nowcoder.com/practice/8ef655edf42d4e08b44be4d777edbf43?tpId=37&&tqId=21276&rp=1&ru=/activity/oj&qru=/ta/huawei/question-rankingimport java.util.*;public class Main{ public static void main(String[] args){原创 2022-03-15 10:20:33 · 472 阅读 · 0 评论 -
【牛客网】OR44 扑克牌大小
题目链接:https://www.nowcoder.com/practice/0a92c75f5d6b4db28fcfa3e65e5c9b3f?tpId=49&&tqId=29277&rp=1&ru=/activity/oj&qru=/ta/2016test/question-rankingimport java.util.*;public class Main{ public static void main(String[] args){原创 2022-03-14 17:34:02 · 305 阅读 · 0 评论 -
【牛客网】手套
题目链接:https://www.nowcoder.com/questionTerminal/365d5722fff640a0b6684391153e58d8?orderByHotValue=0&commentTags=C/C++解题思路:左手拿手套的最小数: 该数组和 - 该数组里除 0 外最小的数 + 1右手是同样的道理例如:[0 , 7, 1, 6]拿手套的最小数: 14 - 1 + 1 = 14import java.util.*;public class Glove原创 2022-03-14 15:51:12 · 1524 阅读 · 0 评论 -
Java汽水瓶
import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ int n = sc.nextInt(); if(n != 0){//若n = 0,表示输入结束 System....原创 2022-03-13 21:12:27 · 1224 阅读 · 0 评论 -
【牛客网】幸运的袋子
题目链接:https://www.nowcoder.com/practice/a5190a7c3ec045ce9273beebdfe029ee?tpId=85&&tqId=29839&rp=1&ru=/activity/oj&qru=/ta/2017test/question-rankingimport java.util.*;public class Main{ public static void main(String[] args){原创 2022-03-13 20:06:40 · 525 阅读 · 0 评论 -
【牛客网】WY28 跳石板
题目链接:https://www.nowcoder.com/practice/4284c8f466814870bae7799a07d49ec8?tpId=85&&tqId=29852&rp=1&ru=/activity/oj&qru=/ta/2017test/question-rankingimport java.util.*;public class Main{ public static void main(String[] args){原创 2022-03-13 10:26:12 · 181 阅读 · 0 评论 -
【牛客网】HJ74 参数解析
题目链接:https://www.nowcoder.com/practice/668603dc307e4ef4bb07bcd0615ea677?tpId=37&&tqId=21297&rp=1&ru=/activity/oj&qru=/ta/huawei/question-rankingimport java.util.*;public class Main{ public static void main(String[] args){原创 2022-03-12 20:44:11 · 695 阅读 · 0 评论 -
【牛客网】CM26 二进制插入(位运算符)
题目链接:https://www.nowcoder.com/practice/30c1674ad5694b3f8f0bc2de6f005490?tpId=8&&tqId=11019&rp=1&ru=/activity/oj&qru=/ta/cracking-the-coding-interview/question-ranking解题思路:由题目可知, n的第j位到第i为保证为0, 且m的二进制位数小于等于i - j + 1所以将m右移j位, 再进行或运算原创 2022-03-12 16:43:07 · 162 阅读 · 0 评论 -
【牛客网】二叉树的镜像(递归)
解题思路:将左右子树交换public class Solution { public void Mirror(TreeNode root) { if(root != null){ TreeNode tmp = root.left; root.left = root.right; root.right = tmp; Mirror(root.left); Mi...原创 2022-03-11 14:40:10 · 267 阅读 · 0 评论 -
Java完全数计算
解题思路:i表示j的约数j表示完全数先判断这个数的约数, 即j % i == 0操作, 若是约数, 则sum += i再判断这个数是不是完全数, 若sum == jimport java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ ...原创 2022-03-09 20:12:48 · 642 阅读 · 0 评论 -
Java查找输入整数二进制中1的个数(二进制转换)
铁子们, 一定要认真读题!!!不到一分钟我咔咔读完了题,又是不到半分钟我咔咔觉得这个题不就是用toBinaryString然后我不到二分钟咔咔写完了下面这个代码然后牛客咔咔给我反馈答案错误import java.util.*;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt...原创 2022-03-08 21:14:18 · 255 阅读 · 0 评论 -
【牛客网】HJ91 走方格的方案数(动态规划)
题目链接:https://www.nowcoder.com/practice/e2a22f0305eb4f2f9846e7d644dba09b?tpId=37&&tqId=21314&rp=1&ru=/activity/oj&qru=/ta/huawei/question-rankingimport java.util.*;public class Main{ public static void main(String[] args){原创 2022-03-08 20:22:31 · 487 阅读 · 0 评论 -
【牛客网】CM72 另类加法(位运算符)
解题思路:import java.util.*;public class UnusualAdd { public int addAB(int A, int B) { while(B != 0){ n = A ^ B; m = (A & B) << 1; A = n; B = m; } return A; }}...原创 2022-03-08 19:59:10 · 129 阅读 · 0 评论