首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏算法与编程之美

    Python|周赛2

    每个数除以除数后都向上取整,比方说7/3=3,10/2=5。 题目保证一定有解 解决方案 样式要求: 示例 1: 输入:nums = [1,2,5,9], threshold = 6 输出:5 解释:如果除数为 1 ,我们可以得到和为 17 (1+2+5+9)。 如果除数为 4 ,我们可以得到和为 7 (1+1+2+3) 。如果除数为 5 ,和为 5 (1+1+1+2)。 示例 2: 输入:nums = [2,3,5,7,11], threshold = 11 输出:3 示例 3: 输入:nums = [19], threshold = 5 输出:4 提示: 1 <= nums.length /j)+1 if x<=threshold: return j END 实习编辑 | 王楠岚 责 编 | 王自强 where2go

    48540发布于 2020-02-14
  • 来自专栏CSDN搬移文章

    dp算法 978、139、467

    一、978978. 最长湍流子数组 - (LeetCode) (一)题目详情 给定一个整数数组 arr ,返回 arr 的 最大湍流子数组的长度 。 (Math.max(max,f[i]),g[i]); } return max; } } 运行截图: 二、139139. 单词拆分 - (LeetCode) (一)题目详情 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 return dp[n]; } } 运行截图: 三、467467. 环绕字符串中唯一的子字符串 - (LeetCode) (一)题目详情 定义字符串 base 为一个 "abcdefghijklmnopqrstuvwxyz" 无限环绕的字符串,所以 base 看起来是这样的

    40620编辑于 2023-10-16
  • 来自专栏算法与编程之美

    Python|之组合总和2

    示例 1: 输入: candidates = [10,1,2,7,6,1,5],target = 8, 所求解集为: [ [1,7], [1,2, 5], [2,6], [1,1, 6] ] 解决方案 这道题的主要注意事项是一次组合中不能重复使用一个数字,与之区别开的另外一道题可参考“组合总和1”题目。 Python代码: def combinationSum2(candidates, target): result = [] candidates.sort() lenth = len(candidates) if lenth == 0: return [] def backtrack2(sums,index,combination): i>index and candidates[i] == candidates[i-1]: continue backtrack2(

    51940发布于 2020-03-12
  • 来自专栏ypw

    2. 两数相加()

    参考官方题解 //题意:给两个链表,每个链表表示的是倒序输入的两个数,例如[1,2,3] [1,2,3]。然后要求求出 //两个链表的和并且以链表的方式返回。 例如[2,4,6];表示123 + 123 = 246; //思路:跟归并排序的思路一致,依次将对应位置的数字相加,然后注意进位。 l1->val:0;//如果指向不为空就拿出当前值,否则就置为0 int n2 = l2 ? l2->val:0; int sum = n1+n2+jinwei;//当前的数字和 if(! { l2 = l2->next; } } if(jinwei > 0){ tail->next = new ListNode(jinwei); } return

    42420发布于 2021-04-25
  • 来自专栏全栈程序员必看

    1 < k && a[i*2+1] < a[i]) minPos = i*2+1; //和右子节点比较 if (i*2+2 < k && a[i*2+2] 例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 ,它会对当有2个骰子时的点数之和为3、4、5、6、7、8产生影响,因为当有一个骰子的值为2时,另一个骰子的值可以为1~6,产生的点数之和相应的就是3~8;比如dp[2]代表点数之和为3,它会对有2个骰子时的点数之和为 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。 输入:nums = [2,0,2,1,1,0] 输出:[0,0,1,1,2,2] 思路:双指针 :left 指针指向数组的开始;right 指针指向数组的结尾。

    1.6K30发布于 2021-05-21
  • 来自专栏leetcode题目解析和知识分享

    链表-2.两数相加-(LeetCode)

    一、题目解析 1、对逆序存储的数字求和,返回一个同样逆序的链表 2、不会出现先导0的情况 二、算法原理 解法:模拟两数相加的过程 定义一个变量t记录每一位之和,按照两数相加的过程,t=2+5,new 一个 = l2; int t = 0; while(cur1! =nullptr||cur2! cur2 = cur2->next; } else if(cur2 == nullptr) { t >val; cur1=cur1->next; cur2=cur2->next; } ListNode

    15510编辑于 2025-10-22
  • 来自专栏jay_blog

    刷题】2. 两数相加

    一、题目描述 来源:(LeetCode) 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 示例 1: 输入:l1 = [2,4,3], l2 = [5,6,4] 输出:[7,0,8] 解释:342 + 465 = 807. 示例 2: 输入:l1 = [0], l2 = [0] 输出:[0] 示例 3: 输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9] 输出:[8,9,9,9,0,0,0,1] 0 : l1.val; int num2 = l2 == null ? null : l1.next; l2 = l2 == null ?

    42550编辑于 2022-11-02
  • 来自专栏知识学习

    -1716. 计算银行的钱

    他 每天 都往银行里存钱。 最开始,他在周一的时候存入 1 块钱。从周二到周日,他每天都比前一天多存入 1 块钱。在接下来每一个周一,他都会比 前一个周一 多存入 1 块钱。 给你 n ,请你返回在第 n 天结束的时候他在银行总共存了多少块钱。 }else{ return n/7*28+(0+n/7-1)*(n/7)*7/2+(1+n%7)*(n%7)/2+(n/7)*(n%7); } } }; 方法: 小于7等差数列1开始到n结束总共n个数,(1+n)n/2 大于7先考虑整周,一周28也就是n/728; 然后考虑整周的增量,第1周增加0,第2周增加7,第3周14,(0+ n/7-1)(n/7)7/2 考虑余下的天数,从1到n%7总共n%7个数,(1+n%7)(n%7)/2 然后考虑余下的天数的增量,第1周后的余数增加1(n%7),第2周增加2*(n%7),第3周3*

    17010编辑于 2024-10-15
  • 来自专栏健程之道

    198——打家劫舍

    示例 : 输入: [1,2,3,1] 输出: 4 解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。 偷窃到的最高金额 = 1 + 3 = 4 。 } result[start] = Math.max( // 选择偷当前的家 nums[start] + dp(start + 2, ) { return 0; } // 存储中间结果 int[] result = new int[nums.length + 2] // 存储当前位置,下一个位置,和再下一个位置的结果 int current = 0; int next_1 = 0; int next_2 // 当前不偷 next_1, // 当前偷 nums[i] + next_2

    39210发布于 2020-02-19
  • 来自专栏C语言基础

    ----环形链表

    ✨ 前言 本文用于记录有关链表的oj题,环形链表l和环形链表II. 主要采用快慢指针的方法. 一、环形链表 声明:题目来源于 题目链接:传送门 题目介绍: 给你一个链表的头节点 head ,判断链表中是否有环。 示例2: 输入:head = [1,2], pos = 0 输出:true 解释:链表中有一个环,其尾部连接到第一个节点。 slow) { return true; } } return false; } 提交结果: 二、环形链表 声明:题目来源于 示例2: 输入:head = [1,2], pos = 0 输出:返回索引为 0 的链表节点 解释:链表中有一个环,其尾部连接到第一个节点。

    33810编辑于 2023-10-14
  • 来自专栏健程之道

    77——组合

    示例: 输入: n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 原题url:https://leetcode-cn.com

    49110发布于 2019-12-31
  • 来自专栏share ai happiness

    -反转链表

    示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 限制: 0 <= 节点个数 <= 5000 有三种方案: 使用栈解决 双链表解决 递归解决 使用栈解决

    34120编辑于 2022-02-25
  • 来自专栏全栈程序员必看

    题库练习

    示例: 输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 本人简单暴力解答: var if(nums[i]+nums[j] === target){ a=i;b=j; break outer; } } } }; return [a,b]; }; twoSum([11,15,7,8,2] == undefined){ return [MAP.get(other), i]; } MAP.set(nums[i], i); } } 2 整数反转 给你一个 32 位的有符号整数 x ,返回将 示例 1: 输入:x = 123 输出:321 示例 2: 输入:x = -123 输出:-321 示例 3: 输入:x = 120 输出:21 示例 4: 输入:x = 0 输出 整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3x 示例 1: 输入:n = 27 输出:true 示例 2: 输入:n = 0 输出:false 示例 3: 输入:n

    70930编辑于 2022-11-17
  • 来自专栏userlyz学习记录

    做题笔记

    [TOC] 做题记录 从基础简单的题开始 简单题 1、两数之和 解题方法:①两层遍历求解 ②使用hashMap存储对应的数值和下标 2、两数相加 3、最长无重复字段 ①使用滑动窗口②使用hashMap list的stream流 sorted 方法是对list转换成stream流的方法,不对有有list元素排序,而是返回一个排序后的新list: 例: public int majorityElement_2( Arrays.toString(sorted)); System.out.println(Arrays.toString(nums)); return nums[nums.length / 2]

    33430编辑于 2022-08-18
  • 来自专栏AIoT技术交流、分享

    (LeetCode)刷题,简单题(第2期)

    目录 第1题:搜索插入位置 第2题:外观数组 第3题:最大子序和 第4题:最后一个单词的长度 第5题:加一 第6题:二进制求和 第7题:求平方根 第8题:爬楼梯 第9题:删除排序链表中的重复元素 第10 题:合并两个有序数组 ---- (LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求互相提升。 = 2; for (int i = 3; i <= n; i++) { dp[i] = dp[i - 1] + dp[i - 2]; } return 回答(C语言): void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n){ int p = nums2[n--] : nums1[m--]; } while (n >= 0) { nums1[--p] = nums2[n--]; } }

    35830发布于 2021-01-20
  • 来自专栏算法与编程之美

    Python|回溯算法解决排列组合2

    示例 1: 输入: candidates = [10,1,2,7,6,1,5],target = 8, 所求解集为: [ [1,7], [1,2, 5], [2,6], [1,1, 6] ] 解决方案 这道题的主要注意事项是一次组合中不能重复使用一个数字,与之区别开的另外一道题可参考“组合总和1”题目。 Python代码: def combinationSum2(candidates, target): result = [] candidates.sort() lenth = len(candidates) if lenth == 0: return [] def backtrack2(sums,index,combination): i>index and candidates[i] == candidates[i-1]: continue backtrack2(

    75820发布于 2020-03-25
  • 来自专栏笔记分享

    20-有效的括号&22-括号生成

    示例 1: 输入:s = "()" 输出:true 示例 2: 输入:s = "()[]{}" 输出:true 示例 3: 输入:s = "(]" 输出:false 栈容器 对于一个字符串,比如"([{ 示例 1: 输入:n = 3 输出:"((()))","(()())","(())()","()(())","()()()" 示例 2: 输入:n = 1 输出:"()" 提示: 1 <= n <= 8 如果n=2,我们使用穷举法,有两情况 :"(())"和"()()"。 显然,我们需要监控的量很多:左括号数量、右括号数量、结果字符串等,无法使用return一次性返回并接收。 对于结束条件的判定 由于我们输入的是“生成括号的对数”,因此,输入n,结果字符串长度为2n(一对括号包含左右括号共两个字符)。 对于左括号,它追加的执行条件为count(left)<n。 对于递归结束条件,即字符串达到题目允许的最大长度时返回,最大长度为2n。

    48500编辑于 2023-02-28
  • 来自专栏笔记分享

    20-有效的括号&22-括号生成

    示例 1: 输入:s = “()” 输出:true 示例 2: 输入:s = “()[]{}” 输出:true 示例 3: 输入:s = “(]” 输出:false 栈容器 对于一个字符串 示例 1: 输入:n = 3 输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”] 示例 2: 输入:n = 1 输出:[“()”] 提示: 如果n=2,我们使用穷举法,有两情况 :"(())"和"()()"。 显然,我们需要监控的量很多:左括号数量、右括号数量、结果字符串等,无法使用return一次性返回并接收。 对于结束条件的判定 由于我们输入的是“生成括号的对数”,因此,输入n,结果字符串长度为2n(一对括号包含左右括号共两个字符)。 对于左括号,它追加的执行条件为count(left)<n。 对于递归结束条件,即字符串达到题目允许的最大长度时返回,最大长度为2n。

    55920编辑于 2023-03-01
  • 来自专栏算法与编程之美

    Python|-顺次数

    示例 1: 输出:low = 100, high = 300 输出:[123,234] 示例 2: 输出:low = 1000, high = 13000 输出:[1234,2345,3456,4567,5678,6789,12345 经过第一步后可以发现,已经能通过一些用例了,下一步就是输入的位数增大,比如示例2,程序得到6789时,如果继续运行得到的就是78910,显然不符合题目要求,所以就需要对每一个数的“尾”进行判断,如果tail_num

    75730发布于 2020-07-16
  • 来自专栏ccf19881030的博客

    78题-子集

    78. 子集 题目描述: 给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums = [1,2,3] 输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] 示例 2: 输入:nums = [0] 输出:[[],[0 , i+1); // 撤销选择 track.pop_back(); } } }; 完整的测试示例C++代码如下: /* 示例 1: 输入:nums = [1,2,3] 输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]] 示例 2: 输入:nums // 撤销选择 track.pop_back(); } } }; int main() { vector<int> nums = { 1, 2,

    37740编辑于 2023-02-26
领券