摘要:
class Node: def __init__(self,key,value,next=None): self.key = key self.value = value self.next = next class MyHashMap: def __init__(self): self.array
阅读全文
posted @ 2024-09-25 11:07
Duancf
阅读(13)
推荐(0)
摘要:
class Solution: def maxProfit(self, k: int, prices: List[int]) -> int: n = len(prices) if k >= n // 2: res = 0 for i in range(1, n): if prices[i] > pr
阅读全文
posted @ 2024-09-25 09:54
Duancf
阅读(15)
推荐(0)
摘要:
class Solution: def maxProfit(self, prices: List[int]) -> int: n = len(prices) dp = [[[0, 0] for i in range(3)] for j in range(n)] for j in range(1, 3
阅读全文
posted @ 2024-09-25 09:53
Duancf
阅读(14)
推荐(0)
摘要:
class Solution: def maxProfit(self, prices: List[int]) -> int: n = len(prices) count = 0 for i in range(1,n): if prices[i]>prices[i-1]: count += price
阅读全文
posted @ 2024-09-25 09:51
Duancf
阅读(17)
推荐(0)
摘要:
class Solution: def maxProfit(self, prices: List[int]) -> int: max_profit = 0 min_price = prices[0] n = len(prices) for i in range(n): min_price = min
阅读全文
posted @ 2024-09-25 09:51
Duancf
阅读(26)
推荐(0)
摘要:
# Definition for a binary tree node. # class TreeNode(object): # def __init__(self, x): # self.val = x # self.left = None # self.right = None class Co
阅读全文
posted @ 2024-09-24 11:05
Duancf
阅读(35)
推荐(0)
摘要:
class Solution: def addStrings(self, num1: str, num2: str) -> str: n = len(num1) m = len(num2) if n>m: for _ in range(n-m): num2 = '0'+num2 if n<m: fo
阅读全文
posted @ 2024-09-23 11:10
Duancf
阅读(22)
推荐(0)
摘要:
# Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.
阅读全文
posted @ 2024-09-23 10:37
Duancf
阅读(15)
推荐(0)
摘要:
# Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution: def
阅读全文
posted @ 2024-09-23 10:21
Duancf
阅读(12)
推荐(0)
摘要:
过滤器Filter作为Java三大器之一,在Java Web的使用中有很高的地位。所谓过滤器,就是实现了javax.servlet.Filter接口的服务器端程序。 Filter有如下几个用处: 在HttpServletRequest到达Servlet之前,拦截客户的HttpServletReque
阅读全文
posted @ 2024-09-22 14:29
Duancf
阅读(193)
推荐(0)
摘要:
Interceptor 介绍 拦截器(Interceptor)同 Filter 过滤器一样,它俩都是面向切面编程——AOP 的具体实现(AOP切面编程只是一种编程思想而已)。 你可以使用 Interceptor 来执行某些任务,例如在 Controller 处理请求之前编写日志,添加或更新配置...
阅读全文
posted @ 2024-09-22 14:07
Duancf
阅读(65)
推荐(0)
摘要:
class Solution: def nextPermutation(self, nums: List[int]) -> None: n = len(nums) # 找到第一个升序 t = -1 for i in range(n-2,-1,-1): if nums[i]<nums[i+1]: t
阅读全文
posted @ 2024-09-22 11:42
Duancf
阅读(14)
推荐(0)
摘要:
普通遍历中删除 ArrayList<Integer> arr = new ArrayList<>(); arr.add(1); arr.add(2); arr.add(3); arr.add(4); arr.add(5); for(Integer i : arr){ if(i == 2){ arr.
阅读全文
posted @ 2024-09-21 22:26
Duancf
阅读(35)
推荐(0)
摘要:
如果在 Redis 中没有过期这个概念,这就意味着我们所有写入的键只要不主动删除就会一直保存在 Redis 中,而 Redis 又是一个基于内存的数据库,内存空间是非常有限的。 过期操作 过期设置 Redis 中设置过期时间主要通过以下四种方式: expire key seconds:设置 key
阅读全文
posted @ 2024-09-21 13:50
Duancf
阅读(155)
推荐(0)
摘要:
class Solution: def numDecodings(self, s: str) -> int: if s[0] == '0': return 0 n = len(s) dp = [0] * (n + 1) dp[0] = 1 dp[1] = 1 for i in range(2, n
阅读全文
posted @ 2024-09-21 09:48
Duancf
阅读(13)
推荐(0)
摘要:
线程在 Linux 中的实现 线程机制是现代编程技术中常用的一种抽象概念。该机制提供了在同一程序内共享内存地址空间运行的一组线程。这些线程还可以共享打开的文件和其他资源。线程机制支持并发程序设计技术(concurrent programming),在多处理器系统上,它也能保证真正的并行处理(para
阅读全文
posted @ 2024-09-20 23:13
Duancf
阅读(43)
推荐(0)
posted @ 2024-09-20 21:09
Duancf
阅读(12)
推荐(0)
摘要:
class Solution: def searchMatrix(self, matrix: List[List[int]], target: int) -> bool: n = len(matrix) m = len(matrix[0]) row = 0 col = m-1 while row <
阅读全文
posted @ 2024-09-20 13:22
Duancf
阅读(18)
推荐(0)
摘要:
# Definition for a binary tree node. # class TreeNode: # def __init__(self, val=0, left=None, right=None): # self.val = val # self.left = left # self.
阅读全文
posted @ 2024-09-20 00:18
Duancf
阅读(16)
推荐(0)
摘要:
一种不安全的写法 public class Main { public static final Object lock1 = new Object(); public static final Object lock2 = new Object(); public static void main
阅读全文
posted @ 2024-09-19 14:26
Duancf
阅读(32)
推荐(0)
摘要:
class Solution: def rand10(self): x = rand7() y = rand7() index = (x-1)*7 + y while index>40: x = rand7() y = rand7() index = (x-1)*7 + y return (inde
阅读全文
posted @ 2024-09-19 11:47
Duancf
阅读(22)
推荐(0)
摘要:
缺失的第一个正数 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 class Solution: def firstMissingPositive(self, nums: List[int]) ->
阅读全文
posted @ 2024-09-19 11:28
Duancf
阅读(33)
推荐(0)
摘要:
网站访问速度的快慢直接决定网站的命运,现在站长们也越来越关注网站的访问性能。如果网站打开慢将流失大量用户,造成巨大损失;如果网站服务器覆盖广,网站访问速度很快,很容易吸引用户,提高访问量,当然销售业绩也蹭蹭上升。相信大都数人曾饱受网站加载过慢的煎熬,为让大家不再为此而困扰,现分析网站访问速度慢的影响
阅读全文
posted @ 2024-09-18 22:13
Duancf
阅读(588)
推荐(0)
摘要:
public class MyException extends Exception{ public MyException(String message){ super(message); } }
阅读全文
posted @ 2024-09-18 19:51
Duancf
阅读(10)
推荐(0)
摘要:
当我第一次阅读 Java8 中的 Stream API 时,说实话,我非常困惑,因为它的名字听起来与 Java I0 框架中的 InputStream 和 OutputStream 非常类似。但是实际上,它们完全是不同的东西。 Java8 Stream 使用的是函数式编程模式,如同它的名字一样,它可
阅读全文
posted @ 2024-09-18 19:36
Duancf
阅读(51)
推荐(0)
摘要:
在 Java 中,直接在遍历集合时删除元素会引发 ConcurrentModificationException,因为集合的结构在迭代过程中发生了变化。为了避免这种问题,可以使用 Iterator 或 ListIterator 来进行安全删除。下面介绍几种常见的方式。 1. 使用 Iterator
阅读全文
posted @ 2024-09-18 18:38
Duancf
阅读(182)
推荐(0)
摘要:
class Solution: def longestPalindrome(self, s: str) -> str: n = len(s) index = 0 max_len = 1 max_str = s[0] while index < n: left = math.floor(index)
阅读全文
posted @ 2024-09-18 10:58
Duancf
阅读(15)
推荐(0)
摘要:
class Solution: def longestPalindromeSubseq(self, s: str) -> int: n = len(s) dp = [[0] * n for _ in range(n)] for i in range(n): dp[i][i] = 1 for i in
阅读全文
posted @ 2024-09-18 10:57
Duancf
阅读(22)
推荐(0)
摘要:
class Solution: def minWindow(self, s: str, t: str) -> str: def judge(map_p, map_q): for key, value in map_q.items(): if map_p.get(key, 0) < value: re
阅读全文
posted @ 2024-09-18 10:08
Duancf
阅读(32)
推荐(0)
摘要:
在 MySQL 中,存储的编码格式与读取的编码格式是可以不同的。如果你的表中存储的是 UTF-8 编码的数据,但客户端想要以 GBK 编码来读取数据,可以通过调整 MySQL 的字符集设置来实现。以下是几种常见的解决方案: 1. 设置客户端连接的字符集 MySQL 提供了在客户端和服务器之间指定字符
阅读全文
posted @ 2024-09-17 22:31
Duancf
阅读(516)
推荐(0)
摘要:
limit深分页为什么会变慢? 先看下表结构: CREATE TABLE account ( id int(11) NOT NULL AUTO_INCREMENT COMMENT '主键Id', name varchar(255) DEFAULT NULL COMMENT '账户名', balanc
阅读全文
posted @ 2024-09-17 21:53
Duancf
阅读(65)
推荐(0)
摘要:
1、证书信任链问题:当客户端验证服务器的证书时,需要一个可靠的证书颁发机构(CA)来建立信任链。然而,在实际应用中,存在证书信任链被破坏或被攻击者伪造的风险,这将对数据传输的安全性造成威胁。如果中间人攻击者能够伪造证书或破坏证书信任链,他们可能会冒充合法服务器并窃取或篡改数据。 应对方案:建议使用受
阅读全文
posted @ 2024-09-17 20:25
Duancf
阅读(153)
推荐(0)
摘要:
查看占用cpu高的进程 top 按P 如下图:可看出PID为7149的java进程占用cpu最高,达到了98% 查看进程中最耗cpu的子线程 top -Hp 7149 如下图:可看出PID为7166的线程占用cpu最高,达到了97.7% 将最耗cpu的线程id转换为16进制输出 perl print
阅读全文
posted @ 2024-09-17 19:40
Duancf
阅读(17)
推荐(0)
摘要:
# Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution: def
阅读全文
posted @ 2024-09-17 15:39
Duancf
阅读(20)
推荐(0)
摘要:
管道,消息队列,信号量,socket,共享内存 管道 在 Java 中,可以使用管道通过进程间通信。以下是一个简单的例子,展示了如何通过 ProcessBuilder 创建两个进程,并使用输入和输出流进行通信。 示例代码 import java.io.BufferedReader; import j
阅读全文
posted @ 2024-09-17 15:07
Duancf
阅读(36)
推荐(0)
摘要:
使用版本号 在 MySQL 中,可以通过使用版本号(Version)来实现乐观锁。一种常见的实现方式是在表中增加一个版本号字段,每次更新数据时,都需要比对版本号。如果版本号一致,表示可以进行更新操作,否则表示其他事务已经修改了数据,需要进行相应的处理。 下面是一个简单的示例,演示如何在 MySQL
阅读全文
posted @ 2024-09-17 13:51
Duancf
阅读(321)
推荐(1)
摘要:
Java 对象的创建过程 Java对象创建的过程主要分为五个步骤,下面我将详细介绍这五个步骤。 Step1:类加载检查 虚拟机遇到一条new指令时,首先会去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且会检查这个符号引用所指向的类是否已经完成加载、连接和初始化,如果没有,必须先执行相
阅读全文
posted @ 2024-09-16 22:19
Duancf
阅读(60)
推荐(0)
摘要:
封装、继承和多态是面向对象编程的三大特征。 封装 封装概念 封装就是把抽象出的数据(属性)和对数据的操作(方法)封装在一起,数据被保护在内部,程序的其他部分只有通过被授权的操作(方法)才能对数据进行操作。 封装的好处 隐藏实现的细节 一个操作具体的实现过程往往很复杂,通过封装用户和调用者可以直接使用
阅读全文
posted @ 2024-09-16 21:37
Duancf
阅读(75)
推荐(0)
摘要:
class Solution: def sortArray(self, nums: List[int]) -> List[int]: def merge(nums1, nums2): if not nums1 and not nums2: return None if not nums1: retu
阅读全文
posted @ 2024-09-16 19:53
Duancf
阅读(14)
推荐(0)
摘要:
class Solution: def longestValidParentheses(self, s: str) -> int: stack = [-1] max_len = 0 for i in range(len(s)): if s[i] == "(": stack.append(i) eli
阅读全文
posted @ 2024-09-15 22:36
Duancf
阅读(14)
推荐(0)