编程基础
lsh呵呵
https://github.com/lsh1994
展开
-
PID11 / 计数的梦
题目描述Bessie 处于半梦半醒的状态。过了一会儿,她意识到她好像在数羊,不能入睡。Bessie的大脑反应灵敏,仿佛真实地看到了她数过的一个又一个数。她开始注意每一个数码:每一个数码在计数的过程中出现过多少次?给出两个整数 M 和 N (1 <= M <= N <= 2,000,000,000 以及 N-M <= 500,000),求每一个数码出现了多少次。例...原创 2016-09-15 10:22:03 · 472 阅读 · 0 评论 -
第k个排列
题目描述第k个排列 Permutation Sequence给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:“123”“132”“213”“231”“312”“321” 给定 n 和 k,返回第 k 个排列。说明: 给定 n 的范围是 [1, 9]。给定 k 的范围是[1, n!...原创 2018-05-12 16:32:44 · 368 阅读 · 0 评论 -
有效的数独
题目描述有效的数独 Valid Sudoku判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。数独部分空格内已填入了数字,空白格用 ‘.’ 表示。示例 1: 输入: [ [“...原创 2018-05-15 10:39:08 · 277 阅读 · 0 评论 -
接雨水
题目描述接雨水 Trapping Rain Water给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例: 输入: [0,1,0,2,1,0,1,3,2,1,2,1] 输出...原创 2018-05-16 09:06:00 · 336 阅读 · 0 评论 -
旋转图像
旋转图像矩阵做两次变换即可(对角线翻折,沿轴翻折),两次变换顺序不同效果一样,对角线和轴的选择也可以不一样。class Solution { public void rotate(int[][] matrix) { final int n=matrix.length; int temp=0; for (int i = 0; i &lt...原创 2018-05-17 20:43:44 · 181 阅读 · 0 评论 -
加一
加一模拟加法过程。class Solution { public int[] plusOne(int[] digits) { int pos=digits.length-1;//正在计算的位置 digits[pos]++; while (digits[pos]&amp;amp;gt;9) { digits[pos]-=10;...原创 2018-05-17 20:45:47 · 139 阅读 · 0 评论 -
爬楼梯
问题描述假设你正在爬楼梯。需要 n 步你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 步 + 1 步 2. 2 步解决方案f(n)=f(n−1)+f(n−2)f(n)=f(n−1)+f(...原创 2018-05-18 09:43:05 · 216 阅读 · 0 评论 -
矩阵置零
问题描述矩阵置零给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。 示例 1: 输入: [ [1,1,1], [1,0,1], [1,1,1] ] 输出: [ [1,0,1], [0,0,0], [1,0,1] ]进阶:一...原创 2018-05-21 16:56:43 · 1989 阅读 · 0 评论 -
寻找局部最高点-1D
一种方法是从第一个元素开始遍历。算法复杂度为 T=O(n)T=O(n)T=O(n)。另一种算法使用二分法。对于一个点,有以下情况:两边小(此时是局部最高点)(暂时不考虑相等的情况);左边小右边大,此时局部最高点一定出现在右边,可以继续在右边继续寻找;左边大右边小则在左边继续寻找两边大,局部最高点出现在两边,向左向右都可以。此算法时间复杂度为 T=O(log2n)T=O(log_2n)...原创 2018-12-19 16:11:45 · 3266 阅读 · 1 评论 -
9.回文数
题目来源LeetCode 9.回文数https://leetcode-cn.com/problems/palindrome-number/解决方案"""@author: LiShiHang@software: PyCharm@file: 9.回文数.py@time: 2018/12/22 22:08@desc:"""class Solution: # 方法1,使...原创 2018-12-23 10:26:58 · 221 阅读 · 0 评论 -
下一个排列
题目描述下一个排列 Next Permutation实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。 1,2,3 → 1,3,2 3,2,1 → 1,2,3 ...原创 2018-05-12 15:51:00 · 365 阅读 · 0 评论 -
移除元素 & 移动零
Remove Element题目描述移除元素 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 : 给定 nums = [0,1,2,2,...原创 2018-04-21 09:33:09 · 186 阅读 · 0 评论 -
四数相加
题目来源4Sum题目描述给定一个含有 n 个整数的数组 S,数列 S 中是否存在元素 a,b,c 和 d 使 a + b + c + d = target ?请在数组中找出所有满足各元素相加等于特定值 的 不重复 组合。注意:解决方案集不能包含重复的四元组合。 例如,给定数组 S = [1, 0, -1, 0, -2, 2],并且给定 target = 0。 ...原创 2018-04-05 11:02:16 · 530 阅读 · 0 评论 -
挖金矿与动态规划
挖金矿与动态规划(续) 对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂,无异性,不让读者感到迷惑,引导读者去思考,所以如果你在阅读中发现有不通顺的地方,让你产生错误理解的地方,让你难得读懂的地方,请跟贴指出,谢谢!转载 2018-01-08 11:24:25 · 1322 阅读 · 2 评论 -
挖金矿与动态规划(续)
上节提到了一个关于买书的练习,原文只是简单描述了下思路,然后我用java代码实现并做了少量优化。由于并未找到相关的运行实例,所以如有任何错误感谢指出。 原文如下: 题目一:买书 有一书店引进了一套书,共有3卷,每卷书定价是60元,书店为了搞促销,推出一个活动,活动如下: 如果单独购买其中一卷,那么可以打9.5折。 如果同时购买两卷不同的,那么可以打9折。原创 2018-01-09 17:37:38 · 733 阅读 · 0 评论 -
单链表翻转
使用语言:c++。#include <iostream>using namespace std;//链表struct ListNode{ int val; ListNode *next; ListNode(int val, ListNode *next = NULL) :val(val), next(next){}};//翻转链表Lis...原创 2018-03-28 16:28:35 · 128 阅读 · 0 评论 -
从排序数组中删除重复项
题目来源Remove Duplicates from Sorted Array题目描述给定一个有序数组,你需要原地删除其中的重复内容,使每个元素只出现一次,并返回新的长度。 不要另外定义一个数组,您必须通过用 O(1) 额外内存原地修改输入的数组来做到这一点。解决方法Java:class Solution { public int removeDupl...原创 2018-03-29 17:49:11 · 186 阅读 · 0 评论 -
从排序阵列中删除重复 II
题目来源Remove Duplicates from Sorted Array II问题描述“删除重复项目” 的进阶: 如果重复最多被允许两次,又该怎么办呢?例如: 给定排序数列 nums = [1,1,1,2,2,3]你的函数应该返回长度为 5,nums 的前五个元素是 1, 1, 2, 2 和 3。解决方案C++class Solution ...原创 2018-03-30 08:21:22 · 178 阅读 · 0 评论 -
最长连续序列
题目来源Longest Consecutive Sequence问题描述给定一个未排序的整数数组,找出最长连续序列的长度。例如, 给出 [100, 4, 200, 1, 3, 2], 这个最长的连续序列是 [1, 2, 3, 4]。返回所求长度: 4。要求你的算法复杂度为 O(n)。解决方案Javaclass Solution { pub...原创 2018-03-30 16:47:57 · 286 阅读 · 0 评论 -
两数之和
题目来源Two Sum问题描述给定一个整数数列,找出其中和为特定值的那两个数。你可以假设每个输入都只会有一种答案,同样的元素不能被重用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1]解决方案pythonclass Solu...原创 2018-04-01 21:54:25 · 178 阅读 · 0 评论 -
三数之和
题目来源3Sum问题描述给定一个包含 n 个整数的数组 S,是否存在属于 S 的三个元素 a,b,c 使得 a + b + c = 0 ?找出所有不重复的三个元素组合使三个数的和为零。注意:结果不能包括重复的三个数的组合。例如, 给定数组 S = [-1, 0, 1, 2, -1, -4],一个结果集合为: [ [-1, 0, 1], [-1, -1, 2...原创 2018-04-03 15:17:49 · 187 阅读 · 0 评论 -
最接近的三数之和
题目来源3Sum Closest问题描述给定一个包括 n 个整数的数组 S,找出 S 中的三个整数使得他们的和与给定的数 target 最接近。返回这三个数的和。假定每组输入只存在一个答案。例如,给定数组 S = {-1 2 1 -4}, 并且 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + 1 = 2).解决方案py...原创 2018-04-03 17:04:07 · 408 阅读 · 0 评论 -
c#打开资源管理器
winform点击按钮打开资源管理器,并定位到指定文件。private void toolStripStatusLabel1_Click(object sender, EventArgs e) { System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo(原创 2017-06-26 10:35:43 · 4920 阅读 · 0 评论 -
c#获取文件夹指定的多种类型的文件
//遍历本文件夹中的文件及子文件夹中的文件://newpath = Directory.GetFiles(newsecpath, "*.*", SearchOption.AllDirectories).Where(s => s.EndsWith(".png") || s.EndsWith(".jpg") || s.En原创 2017-06-26 10:45:03 · 4020 阅读 · 0 评论 -
c++读取24位BMP图像并处理
代码本代码在vs2017上测试运行,由于工具不同可能要有所修改。 关于bmp 4字节对齐#include <iostream>#include <windows.h> using namespace std;typedef struct{ BYTE b; BYTE g; BYTE r;}RGB;RGB imgOpr(RGB a){ RGB b; b原创 2017-09-28 11:00:58 · 5083 阅读 · 0 评论 -
word中数字保留两位小数
由于数字较多(都大于两位),使用正则表达式。实际应用具体修改。原创 2018-01-11 10:24:20 · 8811 阅读 · 0 评论 -
win10常用快捷键
【Win+A】 呼叫操作中心,也就是我们常说的通知面板。 【Win+S】 呼叫Cortana(小娜)主面板。 【Win+D】 所有窗口最小化,显示桌面,再按一下恢复之前样子。 【Win+Tab】 调出虚拟桌面,配合左右键和回车程序切换。 【Win+I】 调出设置面板。 【Win+E】 启动文件资源管理器。 【Win+P】 将当前画面投影至第二屏幕,支持复制、扩展。 【Win+PrtS转载 2018-01-23 19:30:46 · 485 阅读 · 0 评论 -
Ubuntu开机时直接进入命令行模式
ubuntu16.04,如下。执行下面命令即可在开机时直接进入命令行模式:$ sudo systemctl set-default multi-user.target执行如下命令启动到桌面:$ sudo systemctl start lightdm要恢复默认启动到桌面,执行:$ systemctl set-default graphical.targetU...转载 2018-03-15 10:45:11 · 12040 阅读 · 0 评论 -
windows使用nvidia-smi查看gpu信息
需要在path添加 如下 路径才可以使用nvidia-smi命令等。C:\Program Files\NVIDIA Corporation\NVSMI原创 2018-03-26 14:51:57 · 21706 阅读 · 4 评论 -
高斯模糊(高斯滤波)的原理与算法
通常,图像处理软件会提供”模糊”(blur)滤镜,使图片产生模糊的效果。 ...转载 2018-04-01 11:51:03 · 76304 阅读 · 12 评论 -
图像滤波与图像模糊的关系
如图: 详情参见:知乎:高斯模糊的原理是什么,怎样在界面中实现? 链接介绍了高斯滤波和双边滤波。原创 2018-04-02 15:58:35 · 1476 阅读 · 0 评论 -
linux(centos7)用户重命名
1 . 注销要重命名的用户,改用其他用户或管理员登录。 2 . 修改用户名usermod -l 新名 旧名id 旧用户名 # 不存在id 新用户名 # 显示用户名、组等信息3 . 修改组名groupmod -n 新组名 旧组名 id 新用户名 # 显示用户名、组等信息4 . 修改新用户在/home中的目录名usermod -d /home/目录名 -m 新用户名id ...原创 2018-07-05 17:22:50 · 10919 阅读 · 1 评论 -
vmware ubuntu配置静态IP
ubuntu18.04,vmware网络链接设置NAT模式。1 . 在ubuntu设置-》网络-》有线连接 ,打开有线连接设置,如下图: 可见虚拟网卡当前由DHCP分配的ip、路由、DNS等信息。2 . 在有限设置-》IPv4页面,设置如下三处,点击应用即可。其中,地址一般在128-254中,建议和详细信息一致,网关、DNS和详细信息的保持一致。以上信息,可在VMware的虚拟网络编...原创 2018-07-06 12:53:00 · 1346 阅读 · 0 评论 -
vmware ubuntu搭建(两个节点)MPI并行环境
参考链接:https://wenku.baidu.com/view/1a5313c7e518964bce847c3e.html其中,配置静态ip,可:https://blog.csdn.net/nima1994/article/details/80939287ssh免密码登录时,可以在node1下生成.ssh相关文件,拷贝到node2相应位置。nfs共享文件夹可以使两节点共用mpi安...原创 2018-07-08 11:53:10 · 1595 阅读 · 0 评论 -
完全卸载office
遇到问题:word每次打开都显示正在配置,据说是因为多个office版本都在,打算完全卸载重装(由于问题已经解决,此处手动无图)使用控制面板卸载进入官网链接:https://support.office.com/zh-cn/article/%E8%A7%A3%E5%86%B3-Office-365%E3%80%81Office-2016-%E5%92%8C-Office-2013-%E5%原创 2018-01-08 16:04:09 · 714 阅读 · 0 评论 -
注销 睡眠 休眠的区别
注销是指退出当前登录用户回到登录界面。睡眠是指将桌面运行的所有程序保存到内存,内存以及其微弱的电量供电,方便快速恢复到桌面正常工作状态。休眠是指将当前工作状态保存到硬盘,所有设备停止供电,同样可以快速恢复桌面正常工作状态。这三个的不同在于: 注销会结束当前任务,并且切断网络。但是计算机仍然处于工作状态。 随眠和休眠都将使计算机停止工作,但是会保存目前的状态,包括桌面上打开的程序和窗转载 2018-01-05 21:54:23 · 2046 阅读 · 0 评论 -
ARCGIS将WGS84坐标投影到高斯平面
原文链接: http://bbs.rivermap.cn//forum.php?mod=viewthread&tid=24422&extra=page%3D1&page=1&/forum.php转载 2017-12-13 20:48:46 · 1763 阅读 · 0 评论 -
关于bmp 4字节对齐
Windows规定一个扫描行所占的字节数必须是4的倍数(即以long为单位),不足的以0填充,开发过程中:int temp_Width = (m_orgWidth*3+3)/4*4;用24位位图来说,如果高是2: 如果宽为5,则每行实际占15字节,buf的每行末位只补1个0x00//16-15=1 如果宽为6,则每行实际占18字节,buf的每行末位只补2个0x00//20-18=2 如果宽为7原创 2017-09-28 11:28:08 · 3397 阅读 · 2 评论 -
bmp字节对齐公式
通用公式:linebyte = (bmpwidth*位数/8+3)/4*4;//位数÷8即为每个像元占用字节数,bmpwidth*位数/8为有效字节数,在此基础上填充0如8位BMP,bmpwidth即为图片宽上的有效字节数。linebyte = (bmpwidth+3)/4*4;原创 2017-10-01 21:04:43 · 1986 阅读 · 0 评论 -
vs使用mfc类向导重写父类
说明:visual studio与vc6.0差别挺大的,vs2013,win10方案一 方案二原创 2017-10-13 10:20:01 · 957 阅读 · 0 评论