自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

快乐的大儿童附体

CS本硕/菜鸡/啥也不是

  • 博客(112)
  • 收藏
  • 关注

原创 selenium 登录与发邮件

尝试用selenium发邮件,与登录。

2023-05-09 15:13:09 226

原创 Python-接口diff

接口diff

2023-03-29 17:22:52 197

原创 python-嵌套数组的对比(数组嵌套字典,再嵌套数组..)

嵌套数组对比

2022-11-07 15:35:47 556

原创 python txt文件转csv格式

import numpy as npimport pandas as pdimport os import csvpath = '/Users/wwl/Downloads/sample'# 每行每行地处理def txt2csv_Row(): for file in os.listdir(path): # path内部有一个文件夹,需要跳过这个文件夹 if(file[-3:] == 'txt'): # 拼接目录地址

2022-02-14 17:40:26 897 1

原创 Linux 在工作中的实用命令

# 以下是文件内容,$ code cat ./test.txthttps://blog.csdn.net/weixin_44597836/article/details/106068197?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-1.pc_relevant_paycolumn_v2&spm=1001.2101.3001.4242.2&utm_relevant_inde

2022-01-03 22:30:38 292

原创 53. 最大子序和-两种解法-Java

leetcode链接在这里/* * @lc app=leetcode.cn id=53 lang=java * * [53] 最大子序和 */// @lc code=startclass Solution { public int maxSubArray(int[] nums) { if(nums.length == 0){ return 0; } /*int sum = 0; int max

2021-10-01 20:44:05 67

原创 3. 无重复字符的最长子串-双指针+HashSet-Java

题目在这里双指针法+ hashset:hashset 存储无需元素,最适合不过了用一个指针start指向每次子串开始的位置,向后去计算。每次start向后移动1.import java.util.HashSet;/* * @lc app=leetcode.cn id=3 lang=java * * [3] 无重复字符的最长子串 */// @lc code=startclass Solution { public int lengthOfLongestSubstring.

2021-10-01 01:18:16 104

原创 27. 移除元素-双指针法-Java

题目链接在这里解法1class Solution { public int removeElement(int[] nums, int val) { int j = 0; for(int i = 0; i < nums.length; i++){ if(nums[i] != val){ nums[j++] = nums[i]; } } return

2021-09-30 22:15:54 88

原创 26. 删除有序数组中的重复项-Java

leetcode链接在这里双指针法class Solution { public int removeDuplicates(int[] nums) { if(nums.length < 1){ return nums.length; } int i = 0; int j = 1; while(j < nums.length){ if(nums[i] == n

2021-09-30 10:35:10 88

原创 NC92 最长公共子序列-Java

这个是公共子序列(本次题目的链接在这里),子序列中的重复字母可以不连续。上一个文章是求最长公共子串的长度(最长公共子串的链接在这里),子串要求必须是连续的。注意最长公共子串的时候,取出公共部分的首尾下标即可,但是本次的下标是离散分布的,只能用stringbuffer去存储。这里采用回溯的方式(应该是属于回溯的思想)去找回字符串。注意边界。i和j 是从1开始的。状态转移方程的推导过程大概如下状态转移方程如下:代码如下import java.util.*;public class

2021-09-26 00:31:16 214

原创 NC127 最长公共子串-Java

题目题目链接在这里思路的视频链接在这里思路大概是这样:状态转移方程为注意:new int的初始值为0,不用专门初始化下标是从1开始的import java.util.*;public class Solution { /** * longest common substring * @param str1 string字符串 the string * @param str2 string字符串 the string * @ret

2021-09-25 20:22:27 94

原创 NC128 接雨水-Java

题目链接在这里思路:将数组中每个位置上的累加起来就是总的水量首先求容器边界,然后使用双指针,分别从两边往中间扫描,当左边的高度小于右边的高度时,左指针++,如果此时当前位置的高度小于容器的边界高度,这个位置上方有水,进行水量累加。反之,则右指针向左扫描-1import java.util.*;public class Solution { /** * max water * @param arr int整型一维数组 the array * @

2021-09-23 00:39:15 97

原创 NC55 最长公共前缀-Java-待优化

题目链接在此思路如下需要注意的点:取最短的那一列的长度作为循环条件substring( n , m] 是半开区间,不包含m方法不好,虽然实现了,但只得了这个结果。import java.util.*;public class Solution { /** * * @param strs string字符串一维数组 * @return string字符串 */ public String longestCommonPrefi.

2021-09-22 01:11:34 193

原创 NC126 换钱的最少货币数-Java

链接在这里动态规划,真难啊题目注意的点:循环面值arr的时候,i是从0开始的;循环dp[j]的时候,直接从面值开始循环就行,不然的话还需要判断是否小于面值。import java.util.*;public class Solution { /** * 最少货币数 * @param arr int整型一维数组 the array * @param aim int整型 the target * @return int整型 */

2021-09-18 00:34:34 102

原创 NC7 买卖股票的最好时机-Java

题目链接在这里这题看起来就像是动态规划,但不会找状态…还是中规中矩写吧思路:找到数组中当前的最小值,res为max(res,当前值减去最小值)import java.util.*;public class Solution { /** * * @param prices int整型一维数组 * @return int整型 */ public int maxProfit (int[] prices) { if(price

2021-09-17 00:31:18 81

原创 NC14 按之字形顺序打印二叉树-Java

题目在这里之字形打印二叉树,最容易想到的就是层次遍历了,以下是实现。缺点时间复杂度和空间复杂度都很高,不知道怎么优化。import java.util.ArrayList;import java.util.LinkedList;/*public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) {

2021-09-12 22:12:21 121

原创 NC96 判断一个链表是否为回文结构-Java

题目给定一个链表,请判断该链表是否为回文结构。思路使用快慢指针,快指针的速度为慢指针的两倍,当快指针到达链表尾部时,慢指针到达中间位置(结点个数为奇数时,慢指针在正中间,为偶数时,慢指针在右侧的第一个),将慢指针之后的部分进行反转(当节点数为奇数时,将节点的下个节点以及之后的部分进行反转),再与前半部分进行比较。import java.util.*;/* * public class ListNode { * int val; * ListNode next = null; *

2021-09-09 00:53:15 70

原创 微信发红包测试用例

2021-09-08 17:49:27 204

原创 最长回文子串-暴力解法+动态规划-Java

题目链接题目简介题目:最长回文子串描述:对于一个字符串,请设计一个高效算法,计算其中最长回文子串的长度。给定字符串A以及它的长度n,请返回最长回文子串的长度。示例1:输入:“abc1234321ab”,12,返回值:7解题方法有两种一、暴力解题1. 知识点public String substring(int beginIndex, int endIndex)beginIndex – 起始索引(包括), 索引从 0 开始。endIndex – 结束索引(不包括)。2. 需要注意

2021-09-08 13:22:22 151

原创 NC1 大数加法-Java

题目在这里传送门要解决的首要问题就是用什么存储产生的数据第二个问题是是处理进位。思路:从字符串尾部计算结果,存如StringBuffer,依次拼接。import java.util.*;public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 计算两个数之和 * @param s string字符串 表示第一个整数 * @param t string字符串 表示第二

2021-09-03 00:06:24 127

原创 括号序列-Java

/** * 20. Valid ParentTheses * 有效的括号 * <p> * 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 * 有效字符串需满足: * 左括号必须用相同类型的右括号闭合。 * 左括号必须以正确的顺序闭合。 * 注意空字符串可被认为是有效字符串。 * 示例 1: * 输入: "()" * 输出: true * 示例 2: * 输入: "()[]{}" * 输出: true * 示例 3:.

2021-08-31 00:17:20 166

原创 事务有哪些特性?MySQL数据库的隔离级别有哪些?

事务的特性(ACID):原子性(Atomicity):原子性是指一个事务中的操作,要么全部成功,要么全部失败,如果失败,就回滚到事务开始前的状态。一致性(Consistency):一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。那转账举栗子,A账户和B账户之间相互转账,无论如何操作,A、B账户的总金额都必须是不变的。隔离性(Isolation):隔离性是当多个用户 并发的 访问数据库时,如果操作同一张表,数据库则为每

2021-08-28 17:07:18 89

原创 数据库的锁定机制有哪些?存储引擎MyISAM与InnoDB的区别是什么?

1. 数据库的锁MySQL各存储引擎使用了三种类型(级别)的锁定机制:表级锁定,行级锁定和页级锁定。表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低;行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高;页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。不是太常见锁的使用情况从锁的角度来说,表级锁更适合于以查询为主,只有少量按索引条件更新数据的应用,如Web应用;而行级锁则更适合于有

2021-08-28 16:45:15 195

原创 删除链表的导数第N个元素- Java

题目链接描述给定一个链表,删除链表的倒数第 nn 个节点并返回链表的头指针例如,给出的链表为: 1→2→3→4→5,n=2.删除了链表的倒数第 nn 个节点之后,链表变为1→2→3→5.备注:题目保证 n 一定是有效的请给出请给出时间复杂度为O(n) 的算法以前写过一个输出倒数第n个节点的,思想都是类似的,都是使用快慢指针,链接在这里以前写的import java.util.*;/* * public class ListNode { * int val; * Lis

2021-08-12 00:36:25 70

原创 NC41 最长无重复子数组-Java

题目链接在这里,题目题目表述:描述给定一个数组arr,返回arr的最长无重复元素子数组的长度,无重复指的是所有数字都不相同。子数组是连续的,比如[1,3,5,7,9]的子数组有[1,3],[3,5,7]等等,但是[1,3,7]不是子数组示例1,输入:[2,3,4,5],返回值:4示例2,输入:[2,2,3,4,3],返回值:3说明:[2,3,4]是最长子数组示例3,输入:[9],返回值:1示例4,输入:[1,2,3,1,2,3,2,2],返回值:3说明:最长子数组为[1,2,3]这题

2021-08-11 00:20:28 106

原创 NC50 链表中的节点每k个一组翻转-Java

上链接这里将给出的链表中的节点每\ k k 个一组翻转,返回翻转后的链表如果链表中的节点数不是\ k k 的倍数,将最后剩下的节点保持原样你不能更改节点中的值,只能更改节点本身。要求空间复杂度 \ O(1) O(1)例如:给定的链表是1\to2\to3\to4\to51→2→3→4→5对于 \ k = 2 k=2, 你应该返回 2\to 1\to 4\to 3\to 52→1→4→3→5对于 \ k = 3 k=3, 你应该返回 3\to2 \to1 \to 4\to 53→2→1→4→5

2021-08-10 01:27:51 116

原创 面试常见的智力题

8个小球找其中一个较重的,其余小球质量相等

2021-08-07 18:28:59 614

原创 寻找第K大-Java

import java.util.*;public class Solution { public int findKth(int[] arr, int n, int K) { // write code here int res = quickSort(arr, 0, n - 1, K); return res; } public int quickSort(int[] arr, int low, int hi

2021-08-05 01:14:08 44

原创 螺旋矩阵-Java

螺旋数组,题目在这里传送门定义一下边界就行了,四个方向,每换一个方向,就更改一下边界值。需要注意的是,后两次改变方向,就需要考虑边界是否合规了,因为前面调整过边界。import java.util.ArrayList;public class Solution { public ArrayList<Integer> spiralOrder(int[][] matrix) { ArrayList<Integer> res = new ArrayList&

2021-08-04 01:21:50 54

原创 设计LRU缓存-Java

题目:题目的传送门在这里思路:太困了,先看注释吧,改天更新import java.util.*;public class Solution { /** * lru design * @param operators int整型二维数组 the ops * @param k int整型 the k * @return int整型一维数组 */ static class Node{ int key, value;

2021-08-03 01:20:43 37

原创 Java集合、集合内常用方法、如何遍历Set、List、Map

不知道你是否像我一样,写题的时候经常不知道选什么样的数据类型来存储数据,有时候选好了数据类型(比如ListedList),又不知道该数据类型下面包含哪些方法,每次都特别痛苦。那么整理一下吧。Java集合整体框架Java集合遍历Set的方式。第一种:for each//同样的for each写法for (Entry<String, String> entry: map.entrySet()) { int key = entry.getKey(); S

2021-08-01 21:55:33 87

原创 反转链表-Java

/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode ReverseList(ListNode head) { if(head == null || head.next == null){

2021-08-01 14:29:03 27

原创 二叉树的先序、中序、后续遍历-递归版-Java

题目的链接在这里描述分别按照二叉树先序,中序和后序打印所有的节点。示例输入:{1,2,3}返回值:[[1,2,3],[2,1,3],[2,3,1]]需要注意的点最终要返回的是一个int[][]每次遍历时的结果int[]创建时需要指定大小,由于不知道整棵树的大小,因此采用ArrayList来实现。后续将ArrayList < Integer >转成int[]即可.import java.util.*;/* * public class TreeNode { *

2021-07-31 21:44:47 41

原创 合并有序链表-Java

合并过有序数组链接在这里,思想截然不同。中规中矩地合并。需要注意的点需要构造一个头结点,并保留头结点的标记。返回时需要用到。头结点构造的时候head不能赋值为null,为null的话,head.next就会报空指针异常了处理剩余节点的时候,不需要一个一个赋值了,因为这是链表,把l2或者l1指过去就行了(数组需要一个一个赋值)。import java.util.*;/* * public class ListNode { * int val; * ListNode next

2021-07-29 00:48:03 32

原创 最小的K个数(堆排序实现)-Java

题目链接在这里描述给定一个数组,找出其中最小的K个数。例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。0 <= k <= input.length <= 100000 <= input[i] <= 10000这道题很多方法可以做,比如:冒泡排序,执行k次。选择排序,执行k次。堆排序。下面分别来实现以下。冒牌版:需要注意边界import java.util.ArrayList;public class So

2021-07-28 00:38:26 135

原创 NC141 判断回文-Java

双指针法,没啥好讲的。注意循环条件就行了。import java.util.*;public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param str string字符串 待判断的字符串 * @return bool布尔型 */ public boolean judge (String str) { // write code

2021-07-26 23:16:24 43

原创 操作系统常见面试题汇总

一. 虚拟内存篇1. 说说虚拟内存的机制虚拟内存介绍-1虚拟内存和内存的映射机制二. 文件系统文件系统的原理

2021-07-25 21:39:46 45 1

原创 二叉树的层序遍历-Java

题目:二叉树的层序遍历给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历)例如:给定的二叉树是{3,9,20,#,#,15,7}, 该二叉树层序遍历的结果是[[3],[9,20],[15,7]]思路以前写过层次遍历,在这里。但当时只是system.out.print输出了,并没有按层次输出。层序遍历需要构造一个队列来操作节点,队列的创建方式别忘了。需要注意的点队列如何创建判root为空时不能返回null,需要返回一个对象。用一个ArrayList类型的数

2021-06-14 19:13:25 1242 1

原创 子数组的最大累加和-Java

题目:给定一个数组arr,返回子数组的最大累加和例如,arr = [1, -2, 3, 5, -2, 6, -1],所有子数组中,[3, 5, -2, 6]可以累加出最大的和12,所以返回12.题目保证没有全为负数的数据[要求]时间复杂度为O(n)O(n),空间复杂度为O(1)O(1)思路这道题乍一看,肯定是动态规划,但是也可以不用动态规划,每次累加后如果取值小于零,那么重新计算当前的累加和即可。import java.util.*;public class Solution {

2021-06-14 18:23:52 1094 1

原创 有重复数字的升序数组的二分查找-Java

题目:请实现有重复数字的升序数组的二分查找给定一个 元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的第一个出现的target,如果目标值存在返回下标,否则返回 -1思路:和普通二分查找的区别在于nums[mid]==target之后,需要判断mid之前的数是否等于target。需要注意的点边界点控制,因为是有序数组,如果target < nums[0] 或者target > nums[nums.length - 1],直接返回即可

2021-06-14 12:01:45 441

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除