- 博客(14)
- 收藏
- 关注
原创 剑指Offer04:二维数组中的查找(解决matrix[0].length数组越界异常)
剑指Offer04:二维数组中的查找(解决matrix[0].length数组越界异常)1、题目描述在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19],[3, 6, 9, 16, 22],[10, 13, 14, 17, 24],
2021-06-28 13:06:03
558
原创 pycharm如何多个文件并行显示
pycharm如何多个文件并行显示前两天不知道按了什么,每次在pycharm点击文件,都只打开当前一个文件,并不会多个文件并排显示,前一个文件总会被覆盖显示,查了下终于修好了,特此记录一下。Windows–>Editor Tabs–>Tabs Placement–>Top显示即可...
2021-04-14 10:34:57
3036
原创 剑指Offer系列之52:两个链表的第一个公共节点(相遇问题超好理解)
一、问题描述输入两个链表,找出它们的第一个公共节点。如下面的两个链表:在节点 c1 开始相交示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个列表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B
2021-04-06 22:38:31
172
原创 剑指Offer系列之25:合并两个排序链表(超简单解法)
一、题目描述输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4二、题目分析1、题目说到两个链表l1、l2都是递增的,因此可以迅速想到顺序遍历两个链表比较相同位置的值,取小值插入新链表再后移指针即可。所以我们这里采用双指针解法。2、具体思路 开始时新建一个链表dum,初始当前节点cur指向dum,判断l1.val和l2.val的
2021-04-04 19:43:11
162
原创 剑指Offer系列之21:调整数组顺序使奇数位于偶数前面
剑指Offer系列之21:调整数组顺序使奇数位于偶数前面一、题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。示例输入:nums = [1,2,3,4] 输出:[1,3,2,4] 注:[3,1,2,4] 也是正确的答案之一。二、思路分析1、本题乍一看就是把数组分为两部分,前半部分放奇数,后半部分放偶数,自然就想到双指针解法,首尾指针分别指向数组的头和尾。2、接着我原本想到的方法是:(1)直接判断两个指针指向的值是否是偶
2021-03-19 22:17:44
82
原创 剑指Offer系列之57:和为s的两个数字(超简单双指针解法)
剑指Offer系列之57:和为s的两个数字(超简单双指针解法)一、题目描述输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。示例 1:输入:nums = [2,7,11,15], target = 9输出:[2,7] 或者 [7,2]示例 2:输入:nums = [10,26,30,31,47,60], target = 40输出:[10,30] 或者 [30,10]二、思路分析1、题目中说到是递增数组,即可设
2021-03-18 21:08:00
126
原创 剑指Ofeer系列之03:数组中重复的数字(超简单解法)
剑指Ofeer系列之03:数组中重复的数字(超简单解法)一、题目描述找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3二、思路分析1、题目中说到数组中所有数字都在0~n-1范围内,且数组长度为n,所以数组如果没有重复数字的话,排序后几号索引下应该就是数字几。
2021-03-17 22:42:55
117
原创 剑指Offer系列之39:数组中出现次数超过一半的数(超简单思路分析)
剑指Offer系列之39:数组中出现次数超过一半的数(超简单思路分析)一、题目详细描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2二、思路分析1、首先题目假设数组非空,可以不考虑空数组情况,也可以在代码中加一句判别数组是否为空语句。2、需要求的数字出现次数超过数组长度一半,说明它比其他所有数字的出现次数都多(至少多一次),因此可以考虑给
2021-03-17 17:04:40
181
原创 剑指Offer系列之64:求1+2+...+n两行两行代码搞定
剑指Offer系列之64:求1+2+…+n两行代码搞定题目描述求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。解题思路使用等差数列求和公式计算:((首项+尾项)*项数)/2这个提交在leetcode上用时击败100%用户,内存击败83.97%用户。java代码如下class Solution { public int sumNums(int n) { int sum=((1+n)*
2021-03-17 12:13:23
88
原创 windows下cmd中输入nvidia-smi显示不是内部或外部命令解决方法!
windows下cmd中输入nvidia-smi显示不是内部或外部命令解决方法!我的cuda、cudnn等都是可以正常使用的,只是查看不了显存,在查看了很多博客后下面这个方法亲测有效:在环境变量的path中添加smi的路径,一般默认路径如下:C:\Program Files\NVIDIA Corporation\NVSMI添加后重新打开cmd输入nvidia-smi就能查看啦!更详细的内容可参考这篇博客:链接: 输入nvidia-smi显示不是内部或外部命令解决方法更详细的解决方法....
2020-11-30 20:43:53
3721
原创 彻底解决卸载低版本jdk安装高版本jdk出现的问题(为大家避雷踩坑!!!!!!)
成功卸载低版本jdk安装高版本jdk(为大家避雷踩坑!!!)如题,我是卸载1.8jdk安装1.9jdk,但这种方法同样也适用于其他版本。一、卸载低版本jdk1、我们卸载jdk一般是在控制面板=>程序和功能=>选择和java相关的程序卸载。但这样容易出现一种情况,我们明明已经卸载了java低版本,在命令行中检查java版本时(win+R+cmd再输入java -version可查看java版本)还是低版本的java,这时候就需要下一步啦!2、在jdk安装目录下,比如我的是D:\Java
2020-09-28 20:07:18
2963
1
原创 Cmd中怎么编译java文件:javac和java
Cmd中怎么编译java文件:javac和java本文写给和我一样的java初学者相信大家最开始学习java编程时一定会用到命令提示符(win+R再输入cmd可快速进入此界面)。在命令提示符窗口使用javac和java编译java文件,但这两者有何作用,在修改代码后应该怎么编译呢?Java和javac的区别cmd中执行java命令与javac命令的区别:javac:是编译命令,将java源文件编译成.class字节码文件。例如:javac hello.java会生成hello.class文件
2020-09-27 17:12:48
489
原创 马尔可夫网络和贝叶斯网络的一些总结
马尔可夫网络和贝叶斯网络的一些总结最近学习了一些关于概率逻辑的知识图谱推理方法,主要就是贝叶斯网络和马尔可夫网络,在此总结一下,内容都来自网络资料,这里加入了一下个人的理解,尽量为大家避雷!这篇文章是我目前在网络上找到的关于贝叶斯网络最清晰的介绍,大家有兴趣可以去看看贝叶斯网络中比较重要的两部分就是贝叶斯网络的结构和条件概率表。贝叶斯网络的结构下面通过一个例子来介绍:贝叶斯网的网络结...
2020-04-17 18:37:17
3918
1
原创 pandas读取excel文件(为大家避雷踩坑啊!!!)
pandas读取excel文件(为大家避雷踩坑啊!!!)小白新人第一次写博客,有不对的地方希望大神们多多指正!写这篇博客是因为我在网上查资料时发现没有人提到这个问题,于是记录一下,帮大家踩雷啦!使用python中pandas库读取excel文件时,后缀为csv文件时,使用pd.read_csv函数读取,例如:data=pd.read_csv('nasdaq100_pca5.csv')后...
2020-04-09 14:55:19
13693
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人