![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刷
Rbdash
你强不强我不知道,反正我是真的菜
展开
-
220720刷题笔记——二维网格迁移
上来想的手撕二维数组,盘算了一下,变的列是第j列+k余列数,行是第j列+k除列数+当前行,还得处理一下目标列和行超了上限的情况。然后答案给的做法是,其实如果拍成一个一维数组,k其实就是往后走几个。本来想弄个原地改的,结果是给int要list,没法搞。...转载 2022-07-20 18:37:09 · 85 阅读 · 0 评论 -
220712刷题笔记——奇数值单元格的数目
今天的每日一题是奇数值单元格的数目我想着我绝对不能双重循环做出个矩阵再循环统计奇数个数,然后就写出来个比直接模拟还蠢的实现第一遍非常稀碎,明明我都知道只统计行列就行了,为什么最后还要循环两遍去加去统计明明一个格子的值就是行+列,直接统计就行了方法三是直接算,我想过但是没想出来,就不管了...转载 2022-07-12 10:21:39 · 54 阅读 · 0 评论 -
刷题笔记220711——实现一个魔法字典
今天开始继续刷题,今天的题是这个实现一个魔法字典思路就是长度一样再开始比,然后记录不一样的字母个数,有一个就是可以,其他数量的不行一开始用list记录的,改成set(782ms -> 517ms)加上边界条件判定,不一样的字母数量超过2直接跳出(517ms -> 71ms)字符串第n位的字母应该是charAt,之前用的toCharArray[i]是不对的(71ms -> 28ms)就这样吧...转载 2022-07-11 14:43:58 · 49 阅读 · 0 评论 -
java刷领扣
第一个错误的版本思路:二分,但是如果还用(i+j)/2会溢出,因为有很大的int,改成i+(j-i)/2/* The isBadVersion API is defined in the parent class VersionControl. boolean isBadVersion(int version); */public class Solution extends VersionControl { public int firstBadVersion(int n) {转载 2021-07-20 18:42:47 · 69 阅读 · 0 评论 -
200920线上约会
二进制中1的个数<< : 左移运算符,num << 1,相当于num乘以2 : 右移运算符,num >> 1,相当于num除以2: 无符号右移,忽略符号位,空位都以0补齐public class Solution { // you need to treat n as an unsigned value public int hammingWeight(int n) { int cou转载 2020-09-29 17:42:57 · 66 阅读 · 0 评论 -
200924线上约会
二叉树的镜像递归。卧槽为啥啊,想不明白class Solution { public TreeNode mirrorTree(TreeNode root) { if(root==null){return root;} TreeNode tmp=root.left; root.left=mirrorTree(root.right); root.right=mirrorTree(tmp); return root;最转载 2020-09-25 01:04:09 · 62 阅读 · 0 评论 -
200923线上约会
对称的二叉树前序遍历做的,判断条件多到吐,效率极差(击败了16%)。这个应该用递归class Solution { public boolean isSymmetric(TreeNode root) { if(root==null){return true;} Stack<TreeNode> s1=new Stack<>(); Stack<TreeNode> s2=new Stack<>();转载 2020-09-24 00:06:22 · 49 阅读 · 0 评论 -
200922线上约会
比特位计数偶数的1数量跟它除2的数一样(可以想成左移一位)奇数的1数量等于它前面的偶数+1class Solution { public int[] countBits(int num) { int[] dp=new int[num+1]; if(num==0){return dp;} dp[0]=0; dp[1]=1; for(int i=2;i<=num;i++){ if(i%2=转载 2020-09-23 00:51:33 · 90 阅读 · 0 评论 -
200918线上约会
第一题就吃了文化的亏只出现一次的数字class Solution { public int singleNumber(int[] nums) { int ans=nums[0]; if(nums.length==1){return nums[0];} for(int i=1;i<nums.length;i++){ ans=ans^nums[i]; } return ans; }转载 2020-09-22 22:54:30 · 63 阅读 · 0 评论 -
200921线上约会
根据身高重建队列先不说算法问题,这个比较器重写问题很大7种比较器重写方法升序:o1-o2,降序:o2-o2import java.util.Arrays;import java.util.Comparator;import java.util.LinkedList;import java.util.List;public class test11 { public static void main(String[] args) { int[][] people={{转载 2020-09-22 01:17:11 · 65 阅读 · 0 评论 -
200920线上约会
动态规划是一生之敌框架# 初始化 base casedp[0][0][...] = base# 进行状态转移for 状态1 in 状态1的所有取值: for 状态2 in 状态2的所有取值: for ... dp[状态1][状态2][...] = 求最值(选择1,选择2...)优化方向:备忘录 n^2→n没想明白明天再想...转载 2020-09-21 00:04:47 · 88 阅读 · 0 评论 -
200916线上约会
被fiveeight一面血虐。。忘了吧忘了吧提前适应京东这个线上笔。。服了,啥都没有,我能记住库包名吗你也真看得起我赛码这个OJ做的是真的没妈妈import java.util.*;import java.io.*;class Main{ public static void main(String args[]){ Scanner sc=new Scanner(System.in); while(sc.hasNextInt()){转载 2020-09-16 23:41:58 · 81 阅读 · 0 评论 -
200914线上约会
最短无序连续子数组有个思路很好,找到最大最小然后比。一开始觉得豁然开朗,越想越想不明白,遂放弃。于是就老老实实用了空间o(n)的,复制一个数组出来排好序然后一个个比但是不能直接数组等于来赋值,这样直接把地址给过去就完蛋了class Solution { public int findUnsortedSubarray(int[] nums) { int[] temp=new int[nums.length]; int min=0,max=nums.length-转载 2020-09-14 22:40:39 · 83 阅读 · 0 评论 -
200913线上约会
搜索插入位置题没啥意思,约会对象建议下试了试二分class Solution { public int searchInsert(int[] nums, int target) { int temp=bs(nums,target); return temp; } public int bs(int[] nums,int target){ int low=0,high=nums.length-1; wh转载 2020-09-13 14:15:42 · 74 阅读 · 0 评论 -
200912线上约会
三数之和三重循环必超时,所以得想办法改成两重。抄的答案,利用了二分查找的原理class Solution { public List<List<Integer>> threeSum(int[] nums) { List<List<Integer>> res=new ArrayList<>(); int p1,p2,p3; Arrays.sort(nums); for(p1=转载 2020-09-12 20:19:57 · 61 阅读 · 0 评论 -
200909线上约会
二维数组中的查找双for不写了public class Solution { public boolean Find(int target, int [][] array) { int col=array.length; int row=array[0].length; int i=col-1; int j=0; while(i>=0&&j<=row-1) {转载 2020-09-09 10:48:45 · 76 阅读 · 0 评论 -
200908线上约会
回文数用字符串就很简单:整个存个数组然后反向乘做个数字跟原来的数字比class Solution { public boolean isPalindrome(int x) { int num=x; int mod=0; if(x<0){return false;} ArrayList<Integer> array=new ArrayList<>(); while(num转载 2020-09-08 14:39:12 · 87 阅读 · 1 评论 -
200907线上约会
字符串的雷踩到炸成一等残废棒球比赛class Solution { public int calPoints(String[] ops) { int length=ops.length; int[] point=new int[2]; Stack<Integer> stack=new Stack<>(); for(int i=0;i<length;i++){ if(ops[i].e转载 2020-09-07 11:45:09 · 129 阅读 · 1 评论 -
200905线上约会
层次遍历class Solution { public List<List<Integer>> levelOrder(TreeNode root) { List<List<Integer>> res=new ArrayList<>(); if(root==null){return res;} LinkedList<TreeNode> queue=new LinkedList<转载 2020-09-06 00:49:26 · 56 阅读 · 0 评论 -
200904线上约会
先来个数组题热热身数组中出现次数超过一半的数字第一反应hashset,每个key给value+1,最后遍历value发现比数组长度一半大的数就返回写的稀巴烂,wa的机会都没有一直报错 public static int MoreThanHalfNum_Solution(int [] array) { HashMap<Integer,Integer> map=new HashMap<>(); for(int i=0;i<array.l转载 2020-09-04 18:17:27 · 88 阅读 · 0 评论 -
日常
直接插入排序package sort;import java.util.Arrays;public class insertionSort { public static void insertSort(int[] arr){ int j = 0; int temp = 0;//临时变量 for(int i = 1;i < arr.length;i++){//从第二个数开始比较 temp = arr[i]; /转载 2020-09-04 00:51:52 · 73 阅读 · 0 评论 -
200903线上约会
自己被一个字符串的题打了,这该死的String左旋转字符串 public String reverseLeftWords(String s, int n) { StringBuilder result=new StringBuilder(); for(int i=0;i<s.length()-n;i++){ result.append(s.charAt(i+n)); } for(int i=0;i<转载 2020-09-03 19:59:30 · 71 阅读 · 0 评论 -
200902线上约会
今天约了一道SQL,一道普通程序SQL是领扣的查找所有员工的last_name和first_name以及对应的dept_name,也包括暂时没有分配部门的员工简单画了一下列名,感觉是a有一个列和b一样,b有一个列和c一样,百度了一下这种该用左连接select a.last_name,a.first_name,c.dept_name from employees a left join dept_emp b on a.emp_no=b.emp_no left join departments c on转载 2020-09-02 16:43:40 · 97 阅读 · 0 评论