刷题笔记
周周充满了缺点
这个作者很懒,什么都没留下…
展开
-
笔试题作答笔记
8.private static volatile Long num; 变量num在内存中是否线程安全?一个变量被volatile修饰时,那么对它的修改会立刻刷新到主存。volatile修饰变量,sychronized修饰方法、代码块。volatile的一次操作是原子性的,但是i++是有多次操作的,所以不是原子性的。volatile不是线程安全的。9.A、JDBC提供了Statement、PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Sta原创 2021-08-17 20:50:45 · 254 阅读 · 0 评论 -
第k大的数
第k大的数第k大的数思路:对于无序数组直接进行快速排序,快排每一趟会有一个数会定下位置,判断这个数的位置是否为nums.length-k,这样进行剪枝减少计算。class Solution { public int findKthLargest(int[] nums, int k) { int result = quickSort(nums, 0, nums.length-1, nums.length - k); return nums[result];原创 2021-06-25 10:49:44 · 343 阅读 · 0 评论 -
螺旋输出矩阵
螺旋矩阵题目地址:螺旋矩阵按照题意其实是有两种思路,一个是模拟题意行动,遇到超过边界的情况就转方向,设置一个visit访问矩阵,这种方法感觉很麻烦。第二种是比较好理解的,把矩阵层层剥开,一层一层去访问,代码写起来也比较好理解。package test;import java.util.LinkedList;import java.util.List;public class Test { public static void main(String[] args) {原创 2021-06-22 20:46:26 · 164 阅读 · 0 评论 -
算法笔记:子集
子集子集题目地址这道题是算法的入门题,但是涉及到很多基础知识,看了我很久。标识法可以把给定数组的元素按照二进制的方式表示出来,class Solution { List<Integer> temp = new ArrayList<Integer>(); List<List<Integer>> ans = new ArrayList<List<Integer>>(); public List<Lis原创 2021-06-19 10:02:50 · 121 阅读 · 0 评论 -
算法笔记:strStr()
实现strStr()这道题看似是一道简单题,第一种方法是暴力解决,但是稍微一想就能发现可以用数据结构中的KMP算法来解决。方法一:暴力class Solution { public int strStr(String haystack, String needle) { int n = haystack.length(), m = needle.length(); for (int i = 0; i + m <= n; i++) {原创 2021-06-15 23:04:48 · 156 阅读 · 4 评论 -
算法笔记:剪绳子
剪绳子暴力递归回溯法public class Solution { public int cutRope(int target) { if(target == 2){ return 1; }else if(target == 3){ return 2; } return back_track(target); } //递归回溯 public int back_track(原创 2021-06-14 11:53:48 · 122 阅读 · 0 评论 -
矩阵中的路径
矩阵中的路径import java.util.*;import java.util.Queue;public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param matrix char字符型二维数组 * @param word string字符串 * @return bool布尔型 */ /** 利用递归进行原创 2021-06-13 21:53:57 · 103 阅读 · 0 评论 -
二叉树的下一个结点
算法笔记二叉树的下一个结点二叉树的下一个结点public class Solution { public TreeLinkNode GetNext(TreeLinkNode pNode) { if(pNode == null) return null; //如果节点的右孩子不为空的话 if(pNode.right != null){ pNode = pNode.right; while(pNode.l原创 2021-06-12 15:36:41 · 164 阅读 · 0 评论 -
表示数值的字符串
'''class Solution { public boolean isNumber(String s) { if (s == null || s.length() == 0) return false; //因为头尾会出现空格 s = s.trim(); boolean numFlag = false; boolean dotFlag = false; boolean eFlag =...原创 2021-06-11 17:01:18 · 113 阅读 · 0 评论 -
算法题笔记:扑克牌顺子
import java.util.Arrays;/**核心就是先排序,然后计算相邻两个数之间的空缺**/public class Solution { public boolean IsContinuous(int [] numbers) { if(numbers.length <= 0 ){ return false; } //1-先排序 Arrays.sort(numbers);原创 2021-06-03 17:58:35 · 132 阅读 · 0 评论 -
求整数中出现1的个数
自用刷题笔记题目:求整数中出现1的个数题目思路题目:求整数中出现1的个数求出1-13的整数中1出现的次数,并算出100-1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。题目思路case 1: cur=0数字为:2 3 0 4千位和百位可以选00 01 02…22 十位可以取原创 2021-03-03 17:32:11 · 361 阅读 · 1 评论