草庐IT

Leetcode_part

全部标签

LeetCode刷题第八九十周

动态规划如果某一问题有很多重叠子问题,使用动态规划是最有效的解题步骤:背包问题:01背包,完全背包,多重背包01背包:统一使用一维数组来进行遍历publicstaticvoidmain(String[]args){int[]weight={1,3,4};int[]value={15,20,30};intbagWight=4;testWeightBagProblem(weight,value,bagWight);}publicstaticvoidtestWeightBagProblem(int[]weight,int[]value,intbagWeight){intwLen=weight.len

9.20Leetcode记录

一、字符串的排列题干:输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。示例:输入:s="abc"输出:["abc","acb","bac","bca","cab","cba"]限制:1题解:全排列问题可采用递归的思路,固定某个位置,求出其他位置的全排列 我们可以通过交换来获得所有可能的情况。比如第一个位置上的字符,假如A和A交换,就相当于第一个位置上固定了A;假如A和B交换,B来到第一个位置,就相当于第一个位置上固定了B;假如A和C交换,C来到第一个位置,就相当于第一个位置上固定了C。递归的过程中都是同理。此外,因为可能有字符重复,我们

9.20Leetcode记录

一、字符串的排列题干:输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。示例:输入:s="abc"输出:["abc","acb","bac","bca","cab","cba"]限制:1题解:全排列问题可采用递归的思路,固定某个位置,求出其他位置的全排列 我们可以通过交换来获得所有可能的情况。比如第一个位置上的字符,假如A和A交换,就相当于第一个位置上固定了A;假如A和B交换,B来到第一个位置,就相当于第一个位置上固定了B;假如A和C交换,C来到第一个位置,就相当于第一个位置上固定了C。递归的过程中都是同理。此外,因为可能有字符重复,我们

ChatGPT API 接入微信公众号(服务号)的坑及实现 (Part 2)

前一篇我们聊了聊ChatGPTAPI接入微信公众号的数据流。现在稍微介绍详细点,仅供参考。这是个通用的解决方案,并不仅限于ChatGPTAPI的调用。本文有以下内容:数据流详细介绍一点笔记与AI对话怎样问问题法律条文演示截图1.数据流详细介绍之前我们已经知道,在公众号中与AI对话,数据流主要如下。关于AzureWebApp里的流程,主要如下: 2.一点笔记1.公众号开发的前提条件需要在公众号开发平台设置好相关的Azure服务器地址,配置一些安全相关的信息,比如IPWhitelist,加密的Token等。相应的,要在Azure上提供一个服务,为微信服务器提供验证,它会用到之前设置的Token等。

ChatGPT API 接入微信公众号(服务号)的坑及实现 (Part 2)

前一篇我们聊了聊ChatGPTAPI接入微信公众号的数据流。现在稍微介绍详细点,仅供参考。这是个通用的解决方案,并不仅限于ChatGPTAPI的调用。本文有以下内容:数据流详细介绍一点笔记与AI对话怎样问问题法律条文演示截图1.数据流详细介绍之前我们已经知道,在公众号中与AI对话,数据流主要如下。关于AzureWebApp里的流程,主要如下: 2.一点笔记1.公众号开发的前提条件需要在公众号开发平台设置好相关的Azure服务器地址,配置一些安全相关的信息,比如IPWhitelist,加密的Token等。相应的,要在Azure上提供一个服务,为微信服务器提供验证,它会用到之前设置的Token等。

二分查找-LeetCode704 简单题

LeetCode代码链接:https://leetcode.cn/problems/binary-search/题目:给定一个 n 个元素有序的(升序)整型数组 nums和一个目标值 target ,写一个函数搜索 nums 中的target,如果目标值存在返回下标,否则返回-1。示例1:输入:nums=[-1,0,3,5,9,12],target=9输出:4解释:9出现在nums中并且下标为4示例2:输入:nums=[-1,0,3,5,9,12],target=2输出:-1解释:2不存在nums中因此返回-1思路这道题目的前提是数组为有序数组,同时题目还强调数组中无重复元素,因为一旦有重复元

二分查找-LeetCode704 简单题

LeetCode代码链接:https://leetcode.cn/problems/binary-search/题目:给定一个 n 个元素有序的(升序)整型数组 nums和一个目标值 target ,写一个函数搜索 nums 中的target,如果目标值存在返回下标,否则返回-1。示例1:输入:nums=[-1,0,3,5,9,12],target=9输出:4解释:9出现在nums中并且下标为4示例2:输入:nums=[-1,0,3,5,9,12],target=2输出:-1解释:2不存在nums中因此返回-1思路这道题目的前提是数组为有序数组,同时题目还强调数组中无重复元素,因为一旦有重复元

LeetCode-400. 第N位数字

题目来源400.第N位数字题目详情给你一个整数n,请你在无限的整数序列 [1,2,3,4,5,6,7,8,9,10,11,...]中找出并返回第 n位上的数字。示例1:输入:n=3输出:3示例2:输入:n=11输出:0解释:第11位数字在序列1,2,3,4,5,6,7,8,9,10,11,...里是0,它是10的一部分。提示:1题解分析本题的解题关键是如何定位到指定字符所在的数字。通过仔细观察序列数字串,可以发现,位数为1的数字个数为9,位数为2的数字个数为90,位数为3的数字个数为900,依次类推。按照上述规律,可以进一步每种位数中包含的字符个数,它们是数字个数与位数的乘积。通过这种模拟法,

LeetCode-400. 第N位数字

题目来源400.第N位数字题目详情给你一个整数n,请你在无限的整数序列 [1,2,3,4,5,6,7,8,9,10,11,...]中找出并返回第 n位上的数字。示例1:输入:n=3输出:3示例2:输入:n=11输出:0解释:第11位数字在序列1,2,3,4,5,6,7,8,9,10,11,...里是0,它是10的一部分。提示:1题解分析本题的解题关键是如何定位到指定字符所在的数字。通过仔细观察序列数字串,可以发现,位数为1的数字个数为9,位数为2的数字个数为90,位数为3的数字个数为900,依次类推。按照上述规律,可以进一步每种位数中包含的字符个数,它们是数字个数与位数的乘积。通过这种模拟法,

leetcode 83. Remove Duplicates from Sorted List 删除排序链表中的重复元素(简单)

一、题目大意给定一个已排序的链表的头head,删除所有重复的元素,使每个元素只出现一次。返回已排序的链表。示例1:输入:head=[1,1,2]输出:[1,2]示例2:输入:head=[1,1,2,3,3]输出:[1,2,3]提示:链表中节点数目在范围[0,300]内-100题目数据保证链表已经按升序排列来源:力扣(LeetCode)链接:https://leetcode.cn/problems/remove-duplicates-from-sorted-list著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。二、解题思路思路:如果下一个元素和当前元素的值相等,这个元素的下