代码随想录35期Day28-Java

《Python星球日记》 第73天:情感分析与主题建模 《Python星球日记》 第73天:情感分析与主题建模,今天我们将探索两个自然语言处理领域的重要技术:情感分析和主题建模。这两项技术在社交媒体分析、用户反馈处理、市场研究等多个领域有着广泛应用。 阅读详情

Day28题目

LeetCode93.复原ip地址:

核心思想:ip不能有长度不为1,前缀为0的值

class Solution {
    List<String> res = new ArrayList<>();
    // 点的个数
    int pointCount = 0;
    // sb存储当前的值
    StringBuilder sb = new StringBuilder();
    public List<String> restoreIpAddresses(String s) {
        help(s,0);
        return res;
    }
    public void help(String s, int start){
        int length = s.length();
        // point个数是三的时候,将剩下的值作为最后一位,添加到结果集
        if(pointCount == 3){
        	// 最后一位不能开始为0,不能长度大于3,不能大小大于255
            if(length - start > 3) return;
            String temp = s.substring(start,length);
            if(temp.length()>1 && temp.startsWith("0"))return;
            if(Integer.parseInt(temp) > 255) return;
            sb.append(temp);
            res.add(sb.toString());
            sb.delete(sb.length()-temp.length(),sb.length());
            return;
        }
        for(int i = 1 ; i <= 3&& i+start < length ; i++){
        	// 获取从start开始,取1个到3个字符
            String temp =s.substring(start,start+i);
            // 这里也是同样的校验
            if(temp.length()>1 && temp.startsWith("0"))return;
            if(Integer.parseInt(temp) > 255) return;
            sb.append(temp).append(".");
            pointCount++;
            // 回溯
            help(s,start+i);
            pointCount--;
            // 删除加上的元素
            if(sb.length() > i){
                sb.delete(sb.length()-i-1,sb.length());
            }else{
                sb = new StringBuilder();
            }
        }
    }
}

LeetCode78.子集

核心思想:包含有空集,注意加上就行,每一个元素都遍历后面的所有元素

class Solution {
    List<List<Integer>> res = new ArrayList<>();
    List<Integer> path = new ArrayList<>();
    public List<List<Integer>> subsets(int[] nums) {
        help(0,nums);
        // 这里加上空集
        res.add(new ArrayList<>());
        return res;
    }
    public void help(int start, int[] nums){
        if(start == nums.length) return ; 
        // start之后的所有元素都遍历一遍
        for(int i = start; i < nums.length; i ++){
            path.add(nums[i]);
            // 过程都加上元素
            res.add(new ArrayList<>(path));
            help(i+1, nums);
            path.removeLast();
        }
    }
}

LeetCode90.子集Ⅱ

核心思想:和上面的题目额外需要进行去重

class Solution {
    List<List<Integer>> res = new ArrayList<>();
    List<Integer> path = new ArrayList<>();
    public List<List<Integer>> subsetsWithDup(int[] nums) {
        // 排序,如果前一个元素和当前元素相同,那么就可以跳过了,跳过应该在第一层跳过
        Arrays.sort(nums);
        help(0,nums);
        res.add(new ArrayList<>());
        return res;
    }
    public void help( int start, int[] nums){
        if(start == nums.length) return;
        for(int i = start; i < nums.length ; i ++){
        	// i!=start 的时候那么就是同一层的遍历,如果和前一个相同,则跳过
            if(i != start && i> 0 && nums[i-1] == nums[i]) continue;
            path.add(nums[i]);
            res.add(new ArrayList<>(path));
            help(i+1,nums);
            path.removeLast();
        }
    }
}
Python与CAD系列基础篇(十)图形复制、移动、删除 ①通过pyautocad连接AutoCAD进行处理②通过ezdxf处理dxf格式文件。进行图形复制、移动、删除的方法。pyautocad方式。pyautocad方式。 阅读详情

相关推荐

用了7年的 source insight 3.5 背景色及字体配置(提升code效率)

在此记录并share用了7年的 source insight 3.5 背景色及字体配置,提升阅读代码效率

Chasing Freedom 7524

代码随想录-算法训练营day35(贪心算法05:无重叠区间,划分字母区间,合并区间)

贪心算法:重叠区间

weixin_61931006的博客 2557

泛微E9表单建模查询列表勾选后带入流程明细表中

注意:参照下图各项配置,否则会有问题。

泛微二次开发后端知识总结 5309

代码随想录35期Day50-Java

0 持有股票的状态 1 没有股票的状态 2 当天卖出股票 3 前一天卖出股票,今天就是冷冻期状态。核心思想:因为有冷冻期,和之前的题目的状态就有所不同,状态的确定是很难的。核心思想:在买卖股票Ⅱ的基础上加上手续费,只有两个状态,持有或者不持有。

github_72392797的博客 241

Streamlit(九) widgets-input

st.text_input / st.number_input / st.date_input / st.time_input 源码路径:${python}\Lib\site-packages\streamlit\elements\text_widgets.py(number_input.py, time_widgets.py) st.text_input st.text_input(label, value="", max_chars=None, key=None,\

heianduck的博客 3354

Windows 11 + AMD 780M 运行 ComfyUI 完整指南:DirectML 实战方案

ComfyUI 是基于 PyTorch 的 Stable Diffusion 可视化工作流工具,其性能高度依赖 GPU 后端支持。在 Windows 平台,传统 CUDA 方案仅适配 NVIDIA 显卡,而 AMD 核显用户长期面临 ROCm 兼容性差、驱动链路断裂等系统级障碍。DirectML 作为微软原生机器学习 API,绕过 ROCm 生态断层,直接对接 DirectX 12 硬件抽象层,成为 RDNA 3 架构(如 Radeon 780M)在 Windows 11 上运行 AI 绘画的最优解。它提供

weixin_30099989的博客 723

代码随想录35期Day09-Java

核心思想:暴力之外的方法:当最长s-next刚好可以被s整除的时候,说明s就是由这么长的字串重复得到的。得到的最长next值为8,字符串长度为10,10-8=2 ,10%2 == 0;核心思想:KMP算法,比较难理解,建议找视频看,

github_72392797的博客 191

Win11 WSL2 Ubuntu 18.04 ROS Gazebo 图形渲染性能调优:从LLVM到NVIDIA GPU的完整指南

本文详细解决了在Win11 WSL2 Ubuntu 18.04环境中运行ROS Gazebo时图形渲染卡顿的问题。通过诊断默认LLVM软件渲染的瓶颈,指导用户更新Mesa驱动PPA源,并关键性地设置环境变量以强制启用NVIDIA GPU硬件加速,最终显著提升仿真性能与流畅度。

weixin_29204749的博客 281

代码随想录刷题day35|柠檬水找零&根据身高重建队列&最少的箭引爆气球

【根据身高重建队列】和最【少的箭引爆气球】都不太会写,一边看题解一边抄的题解。。。

东东唯一指定铲屎官 1109

Mplus—随机截距交叉滞后模型(RI-CLPM)语法

随机截距交叉滞后模型RI-CLPM的Mplus语法。

m0_54401011的博客 2529

基于51单片机的电子记分牌的设计

基于51单片机的电子记分牌的设计 电子记分牌基于51单片机的电子记分牌的设计摘要1 引言2 总体设计方案2.1 设计思路(1)设计要求(2)设计思路(3)设计方案2.3综合设计方框图(1)硬件设计框图(2)软件设计3 设计原理分析3.1 电源、复位、下载电路的设计(见图1、2、3)3.2 时钟电路的设计3.3 矩阵键盘电路的设计3.4 数码管显示电路设计4程序代码 摘要 本设计为电子记分牌设计,是以STC89C52芯片为核心,辅以必要电路设计进行的。用4位LED七段数码管显示比赛两方的分数(每方分数用2位

行走的皮卡丘 2037

代码随想录35期Day01-Java

某211大三Java选手,暑期实习投了很多很多,笔试很多,Java开发没有一个进面试,唯一进面的是第二志愿运维开发岗,一面挂。虽然对目前大环境和经济抱有怨言,但是算法是必须要刷的,没有任何捷径。之前刷过了牛客hot101,但是还差得远,题量少,也没有系统学习过算法,这肯定还敲不开大厂的门。所以,从现在开始,真正脚踏实地,去克服这些困难。种下一棵树的最好时机,一个是十年前,一个就是现在。

github_72392797的博客 448

PX4从放弃到精通(五):PX4中的姿态表示方法及转换关系

文章目录机体坐标系与地理坐标系一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 机体坐标系与地理坐标系 在实际应用中,加速度计的测量轴是由运动平台安装固定此器件的轴向决定的。这些坐标轴就形成了载体坐标系,定义如下: 坐标原点设在载体质心(这样可简化运动方程的推导); y轴指向载体前方,称为横滚轴,横滚角以y轴为起始旋转轴而得到,符合右手定则; x轴与y轴夹角90°,指向载体横向,称为俯仰轴,俯仰角以x轴为起始旋转轴而得到,符合右手定则; z轴与x轴、y轴构成右手笛卡儿坐标系,指向载体垂直方向

超维空间科技的博客 8111

代码随想录-Day35

该算法通过两次遍历确保了每个孩子的糖果数满足题目的两个条件,同时尽可能地减少了糖果的总消耗,是一种既直观又高效的解决方案。该算法通过先排序后构建的方法,有效地解决了队列重建的问题。排序步骤确保了在插入过程中可以直接根据人的身高和前面人数的要求找到合适的位置,而链表的特性支持了在特定位置快速插入元素,从而保证了整体的时间效率。

ToBewhatyouwannabe的博客 1080

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

代码随想录-算法训练营day60(单调栈03:柱状图中最大的矩形)

单调栈03:数组中的最大矩形

weixin_61931006的博客 675

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

代码随想录35期Day35-Java

核心思想:获取字母的区间,然后如果遍历,遇到哪个字母右边界大于目前右边界,就更新遍历的终点.如果遍历到终点,说明这个区间内的所有包含的字母都只出现在目前这段区间内,我本来使用的map存储每一个区间,后面优化只用存储最后出现的地方就行了。核心思想:排序区间之后,如果重叠,更新下一个区间的右边界为最小值.如果重叠了,最少移除其中一个,更新移除的那个为最小的右边界之后就不会影响到之后的区间判断。核心思想:排序后遍历,遇到相重叠的区间,将最小左边界到最大右边界存到结果集。

github_72392797的博客 270

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

代码随想录day1| leetcode704. 二分查找,35.搜索插入位置 ,27. 移除元素,977.有序数组的平方

看不懂。

weixin_44367813的博客 1065

代码随想录Day35 | 01背包问题 二维,01背包问题 一维,416.分割等和子集

动态规划经典问题dp定义:表示从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少状态转移方程:初始化:遍历:先遍历行,也就是先遍历物品,再遍历背包容量 01背包问题 一维 因为在二维里,的值只与左上角(上一行且左边)的值有关,所以只保存一行的值即可。状态转移方程:遍历顺序:因为要用到左上角的值,在一维里就是左边的值,所以要从后往前遍历,不然会影响到左边的值 416.分割等和子集 难点在于将问题转换为动态规划问题:然后就是背包问题的代码形式 [j]:

weixin_43992121的博客 418

代码随想录35期Day15-Java

核心思想:也是怎么遍历都行,要注意的就是判断当前节点的 left.left 和 right.right值相同,left.right和right.left值相同。使用层级遍历也是一样,下面提供层级遍历的代码。核心思想:使用先序或者后序遍历即可,在过程中进行左右子树的交换,层序也可。中序遍历注意:当你先交换左,然后交换中的时候,左子树和右子树交换了位置,接下来应该继续遍历左,否则相当于右子树没遍历。

github_72392797的博客 414

代码随想录35期Day8-Java

核心思想:这题主要要在原地完成。所以使用区间反转完成,先局部反转前length-n个,然后反转后n个,最后全部反转就完成// 先全部翻转,然后局部翻转,以 abcde,2 为例 char [ ] chars = s . toCharArray();// 反转0 到 length-1-index,就是除了后index个之外的,cbade reverseString(chars , 0 , chars . length - index - 1);

github_72392797的博客 361

代码随想录系统性一刷总结

指针思想很重要day01 二分查找+移除元素day02 数组平方+长度最小子数组+螺旋矩阵II。

qq_44072579的博客 1048

代码随想录35期Day07-Java

核心思想:1.使用数组存储两个数的和,然后使用hashmap从数组中取出target-sum的值,这样能达到效果,但是因为需要去重,这样得到的结果边界条件难控制并且难以去重。核心思想:将四个数组分成两组,使用HashMap存入前两个数组的两个元素的所有和,重复的就要多次计算,value存这个结果出现的次数。核心思想:这道题比较简单,只要把第二个字符串的所有字符计数,然后把第一个字符串中用到的字符减一,如果没有出现结果是负数的情况,那么就够用。核心思想:使用双指针,与三数之和类似,但是去重条件略微不同。

github_72392797的博客 332

代码随想录35期Day41-Java

核心思想:dp[i][j]的含义是:i个物品在j空间下的最大能携带价值,使用一个数组做滚动数组也可以,注意循环的时候空间遍历需要从后向前即可。核心思想:包装过的01背包。

github_72392797的博客 234

代码随想录35期Day48-Java

核心思想:可以使用贪心,选择左边最小的和右边最大的,也可以动态规划,需要保存是否持有股票的状态,dp[i][0]表示第i天,不持有股票,dp[i][1]表示第i天持有。核心思想:也可以用贪心,只要比后一天小,就今天买,明天卖. 动态规划dp数组和上面一道题一样,只不过dp持有股票的含义略微变化。

github_72392797的博客 254

代码随想录35期Day04-Java

删除倒数第n个,那么需要把指针移动到倒数n-1个上,那么使快指针在dummyHead上,向前n次后,快慢指针同时移动,快指针结束后慢指针就在倒数n-1上。核心思想:双指针+数学关系,快慢指针可以判断是否有环,相交后使用两个指针,一个从他们相遇的位置走,一个从链表开头走,相遇的位置就是环的开头。假如A长度为8 ,B链表长度为4,那么相交部分最长为4,那么就可以从A的第五位来遍历后四位,并且每位只需要比较一次,而不用全部遍历。核心思想:感觉比较常规,使用指针不断向前走,每两个执行一次翻转,画图就相当清楚了。

github_72392797的博客 221

代码随想录35期Day11-Java

还有一种非常暴力的办法:使用Java的string的replace,每次替换一个成对的括号,使用while,如果字符串长度不减少且不为空,那说明有不匹配的括号,直接返回false(不提供代码)核心思想:使用栈,左括号入栈,右括号就去匹配栈顶元素,如果不匹配就错误,最终栈为空且没有报错说明是有效的。核心思想:数字入栈,操作符不入栈,遇到操作符就出栈两个数字进行操作,然后结果入栈,最后在栈里的数字就是结果。核心思想:入栈的时候判断栈顶是否和将入栈的字母相同,相同则删除这俩。最后的字符串是全部出栈后反转。

github_72392797的博客 268
上一篇: 代码随想录35期Day27-Java(day26休息)
下一篇: 代码随想录35期Day29-Java
Gohoy
博客等级 码龄4年 271粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值