LeetCode
文章平均质量分 64
Nysun11
一只梦想成为技术大佬的闲鱼......
展开
-
提前批--Cpp版本
用CPP写的一些算法题原创 2022-06-29 17:29:33 · 211 阅读 · 0 评论 -
LeetCode之回溯
回溯的一般格式path = [ ]res = [ ]def backtracking(param) { if (end condition): save result return } for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) { 处理节点 backtracking(路径,选择列表) 回溯,撤销处理结果 }}组合给定两个整数 n 和 k,返回范围 [1,原创 2022-04-02 15:08:06 · 182 阅读 · 0 评论 -
LeetCode之动态规划
整数拆分给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k >= 2 ),并使这些整数的乘积最大化。class Solution: def integerBreak(self, n: int) -> int: dp = [0]*(n+1) dp[2] = 1 for i in range(3, n+1): for j in range(1, i-1): dp[i] = m原创 2022-04-02 15:07:46 · 394 阅读 · 0 评论 -
LeetCode之骚操作
滑动窗口乘积小于 k 的连续的子数组给定一个正整数数组 nums和整数 k ,请找出该数组内乘积小于 k 的连续的子数组的个数思想:关键的点在于记录个数的时候,某个窗口内的子数组个数大小 right-left+1,是因为我们需要从右边开始数,如果从左边开始就有重复。比如某次遍历符合题意的子数组为 ABCX,那么在该条件下符合条件的有X,CX,BCX,ABCX共四个(可以进行多个例子,发现个数符合right-left+1)class Solution: def numSubarrayProd原创 2022-03-26 17:17:39 · 531 阅读 · 0 评论 -
python一些操作函数
1 字符串有关函数# 1字母处理:.upper() # 全部大写.lower() # 全部小写.swapcase() # 大小写互换.capitalize() # 首字母大写,其余小写.title() # 首字母大写# 2格式化相关 .ljust(width) # 获取固定长度,左对齐,右边不够用空格补齐.rjust(width) # 获取固定长度,右对齐,左边不够用空格补齐.center(width) # 获取固定长度,中原创 2022-03-16 17:37:26 · 190 阅读 · 0 评论 -
LeetCode之字符串
1 在一个字符串中查找另一个字符串的位置给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。示例 :输入:haystack = “hello”, needle = “ll”输出:2int strStr(char* haystack, char* needle) { int n = strlen(haystack), m = strlen(needle);原创 2021-10-25 11:01:18 · 630 阅读 · 0 评论 -
一些处理技巧
将一个字符串转化为整数while(*s >= '0' && *s <= '9'){ sum = sum * 10 + (*s - '0'); s++;}统计字符串中字符出现的次数新建一个数组,利数组的索引来确定位置,值来统计次数int res[26] = {0};for(int i = 0; i < n; i++){ res[s[i]-'a']++;}如何取出一个整数的每一位首先定一个新的数组来保存,依次取出个位十原创 2021-11-06 14:54:05 · 124 阅读 · 0 评论 -
Leetcode之树
1 二叉树镜像struct TreeNode* mirrorTree(struct TreeNode* root){ if(root == NULL) return root; struct TreeNode * tmp = root->right; root->right = root->left; root->left = tmp; mirrorTree(root->right); mirror原创 2021-12-02 11:59:59 · 369 阅读 · 0 评论 -
LeetCode之链表
1 反转链表给定一个单链表的头结点pHead,长度为n,反转该链表后,返回新链表的表头。如当输入链表{1,2,3}时,经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。truct ListNode* ReverseList(struct ListNode* pHead ) { if(pHead == NULL || pHead->next == NULL){ return pHead; } struct ListNode *p原创 2021-11-19 10:16:45 · 704 阅读 · 0 评论 -
LeetCode之数组
1 找出数组中重复的数字在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。思路:哈希建立一个哈希表,遍历数组,如果访问到同一个哈希表的同一个位置就返回。int findRepeatNumber(int* nums, int numsSize){ int *hash = (int *)calloc(numsSize, sizeof(int)); for原创 2021-11-08 11:22:19 · 2271 阅读 · 0 评论