自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

原创 Leetcode88 空间足够双指针原地归并

、class Solution {public: // 借助一个辅助空间再填到nums1,空间复杂度O(n+m) // 双指针直接归并,从后往前扫,空间复杂度O(1) void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int i = m - 1, j = n - 1, k = m + n -1; while(i>=0

2020-06-30 22:21:05 130

原创 Leetcode 66/67加法模拟题目

注意只有最后一位正常加1,其他的遇到边界才+1class Solution {public: vector<int> plusOne(vector<int>& digits) { int i = digits.size() - 1, add = 0; while(i>=0){ int tmp; if(i==digits.size()-1) tmp = digits[i]...

2020-06-30 21:41:46 163

原创 Leetcode 递归回溯剪枝题目:组合,子集

递归树:class Solution {public: vector<vector<int>> res; vector<vector<int>> combine(int n, int k) { vector<int> v; dfs(v,1,n,k,0); return res; } void dfs(vector<int> v, i...

2020-06-28 23:58:37 467

原创 Leetcode 经典N皇后问题

N皇后问题的关键在与状态的记录,用一个全局数组/集合表示col,主对角线和反对角线是否不能填。class Solution {public: vector<vector<string>> res; unordered_set<int> cols; unordered_set<int> pie; unordered_set<int> na; vector<vector<string...

2020-06-25 00:31:39 220 1

原创 SU(N) Hubbard平均场方法

2020-06-24 21:14:31 336

原创 Lieb格子上SU(3)Hubbard模型铁磁的基态

摘要我们研究了Lieb晶格上排斥费米子SU(3)Hubbard模型的磁性用平均场近似法研究弱到强相互作用。为了验证我们采用的方法,我们首先讨论了平均场水平上的SU(2)Hubbard模型,发现我们的结果与已知的一致严格的定理。然后我们将计算推广到SU(3)对称的情形。我们发现,在4/9填充时,SU(3)对称性在基态自发地转变为SU(2)×U(1)对称性,导致零温度下任意排斥U的交错铁磁态。然后我们研究铁磁状态,通过放松4/9的填充,得出铁磁状态是敏感的但它对填充物很有效,因为它可以在一定的填充范围内

2020-06-24 21:04:02 1707 1

原创 科研情况

科研1. Tasaki模型CPT暂时放弃,留给师弟去尝试,能做出来自然好。2. VSe2实验合作,等实验,能混上SCI自然好,混不上也不着急,不要主动搞,等消息。3. SU(4) Hubbard,SU(2)的结果ok,SU(4)的文献搞定。以这个为重点做工作。调整组会内容,删掉多余的SU(N) Tasaki内容,重点以最新找到的文献为主。...

2020-06-24 20:17:44 188

原创 Leetcode 44. 通配符匹配 Dp 问题

给定一个字符串(s) 和一个字符模式(p) ,实现一个支持'?'和'*'的通配符匹配。'?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明:s可能为空,且只包含从a-z的小写字母。p可能为空,且只包含从a-z的小写字母,以及字符?和*。示例1:输入:s = "aa"p = "a"输出: false解释: "a" 无法匹配 "aa" 整个字符串。示例2:输入:s = "aa"p...

2020-06-21 23:51:43 202

原创 再谈快速幂的非递归算法

我们只要看n的二进制表示,如果是1,就把对应的乘上去。如果不是,那么因子继续跟新。这就是快速幂非递归算法的关键的地方。理解快速幂的思路是最重要的,就算要记忆结论,也不是去记忆代码怎么写,而是去记忆x的幂次和答案的关系,每一位都要对x做累乘,但只有二进值为1的时候,才乘到代码里面。typedef long long LL;class Solution {public: double myPow(double x, int n) { LL N = n; ..

2020-06-21 23:08:21 282

原创 再谈全排列回溯方法

这里不使用交换的思路,直接想成填n个格子数的问题,每一个格子可以填1到n的数,但是不能有重复。所以需要有一个数组记录下当前变量是否使用过。需要有一个数组存储路径,以及一个存储答案的二维数组。result = []def backtrack(路径, 选择列表): if 满足结束条件: result.add(路径) return for 选择 in 选择列表: 做选择 backtrack(路径, 选择列表) ..

2020-06-21 22:40:11 236

原创 关于刷算法题要注意的问题

1. 不要去记代码,而要去理解,记忆思路。2. 分析的过程比写代码更重要。代码可以有不同的实现方法。3. 搞清楚这样的算法为什么是对的。(数学证明)4. 模拟case滑动窗口和动态规化回溯再讲讲,重点题解析(偏算法)3,4,5,1011,17,22,2331,32,37,38,39,4041,42,45,46,47...

2020-06-21 01:02:51 252

原创 Leetcode 37 递归回溯。

这就是一个经典的回溯递归问题,一个格子一个格子的填写,递归到下一层递归回溯的方法是每一格子1-9逐个填写,因为数读只有唯一解,因此这种搜索的方法一定可以找到答案。class Solution {public: bool flagRow[9][9]; // 第一个下标个代表行号,第二个下标代表该数字是否用过 bool flagCol[9][9]; // 第一个下标代表列号, 第二个下标代表该数字是否用过 b.

2020-06-20 23:42:46 185

原创 Leetcode 31下一个排列 (难)

31. 下一个排列实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,1,5 → 1,5,1这是一个找规律的题目,如果数组已经是一个完全降序数组,那么答案就是整个数组反转,对应的就是完全升序根据递归性:12345..

2020-06-20 22:34:07 148

原创 Leetcode 470 经典面试题用Rand7()实现rand10()

已有方法rand7可生成 1 到 7 范围内的均匀随机整数,试写一个方法rand10生成 1 到 10 范围内的均匀随机整数。不要使用系统的Math.random()方法。开胃小菜,用rand7 实现rand5怎么做?rand7 等概率生成1-7,如果出现,6和7,那么拒绝,重新roll,这样就可以等概率生成1-5.下面是用rand7实现rand10.利用一个七进值的结论:(rand(7)-1)*7 + rand(7)-1 可以等概率生成[0,48]的数(...

2020-06-20 17:57:43 1004

原创 2019年六级作文:团队精神和合作的重要性

The importance of Team Spirt and Communication in the Workplace[1] As the saying goes, "When the teamwork kicks in, nobody can beat you." It hightlights the critical role that team spirt plays in completing a task. [2] In my views, team spirit and co..

2020-06-20 15:56:18 6659

原创 Leetcode 159. 至多包含两个不同字符的最长子串 (双指针滑动窗口)

给定一个字符串 s ,找出至多包含两个不同字符的最长子串 t ,并返回该子串的长度。示例 1:输入: "eceba"输出: 3解释: t 是 "ece",长度为3。示例 2:输入: "ccaabbb"输出: 5解释: t 是 "aabbb",长度为5。滑动窗口,使用双指针,hashmap维护一个滑动窗口,窗口中至多只包含两个不同字符。class Solution {public: int lengthOfLongestSubstringTwoDist...

2020-06-20 12:31:38 618

原创 Leetcode 487. 最大连续1的个数ⅡⅢ(双指针滑动窗口)

给定一个二进制数组,你可以最多将1 个 0 翻转为 1,找出其中最大连续 1 的个数。示例 1:输入:[1,0,1,1,0]输出:4解释:翻转第一个 0 可以得到最长的连续 1。 当翻转以后,最大连续 1 的个数为 4。注:输入数组只包含0 和1.输入数组的长度为正整数,且不超过 10,000双指针维护一个窗口,窗口中至多出现一个0class Solution { public int findMaxConsecutiveOnes(int...

2020-06-19 23:20:14 319

原创 巡游电子铁磁性

2020-06-19 22:57:16 1642 1

原创 SU(N)Hubbard模型

2020-06-19 22:25:56 539

原创 Leetcode每日一题125. 验证回文串

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入: "race a car"输出: false在普通回文串的基础上做特殊出理class Solution { public boolean isPalindrome(String s) { int left =.

2020-06-19 21:38:15 181

原创 面试题连续字符,解耦单指针

给你一个字符串s,字符串的「能量」定义为:只包含一种字符的最长非空子字符串的长度。请你返回字符串的能量。示例 1:输入:s = "leetcode"输出:2解释:子字符串 "ee" 长度为 2 ,只包含字符 'e' 。示例 2:输入:s = "abbcccddddeeeeedcba"输出:5解释:子字符串 "eeeee" 长度为 5 ,只包含字符 'e' 。示例 3:输入:s = "triplepillooooow"输出:5示例 4:输入:s = "hoor...

2020-06-19 20:46:48 314

原创 2019年6月六级第一套翻译解析

中国幅员辽阔,人空众多,很多地方人们都说自己的方言。China is a vast country with a large population. People in many places speak their own dialects.中国China;Sino- 幅员辽阔vast in territory;a vast territory 人口众多have an enormous population;encompass a large population;with a lar...

2020-06-19 18:07:03 4224

原创 Hubbard model铁磁性

2020-06-19 16:47:39 304

原创 Leetcode 30-50题总结

LeetCode 31. 下一个排列排列数规律,难LeetCode 32. 最长有效括号难LeetCode 33. 搜索旋转排序数组两次二分,第一次先找到旋转位置,第二次再有序数组里找,将两次二分合并成一个。LeetCode 34. 在排序数组中查找元素的第一个和最后一个位置upper_bound 和lower_bound, 二分的变形LeetCode 35. 搜索插入位置原始二分LeetCode 36. 有效的数独三次遍历...

2020-06-18 19:13:01 226

原创 微软面试题6.18

Given an array with around 10w elements, each element is within [0,10w], how to get max subsequense length with same value if you have a opportunity to swap two elements?Sampes:1,1,0,2,3,1,0,1,1,3,4 => output: 40,2,3,1,0,1,1,3,4 => output: 31,1.

2020-06-18 11:24:49 177

原创 Tasaki band

H=zeros(2,2);dk = 0.01;t = 1;lamda = sqrt(2);e = 0;n = length(H);k=-pi:dk:pi;dn = length(k);Ek = zeros(n,dn);for i=1:dn H(1,1)=2*t*cos(k(i)); H(2,2)=e; H(1,2)=2*lamda*t*cos(k(i)/2); H(2,1)=2*lamda*t*cos(k(i)/2); [~,E]=eig(H);.

2020-06-17 22:55:59 264

原创 Leetcode 跳跃游戏一和二(动态规划和贪心)

55. 跳跃游戏只判断是否能到达边界,这个只要每次维护一个变量,看看这个变量最大到哪即可。O(N) public boolean canJump(int[] nums) { int maxRight = 0; // 可到达右边最远的距离 for(int i=0;i<nums.length-1;i++){ if(i>maxRight) return false; maxRight =

2020-06-17 18:36:35 237

原创 Leetcode 全排列问题不含重复和含重复剪枝情况

不重复,直接这样递归就行class Solution { List<List<Integer>> res = new ArrayList<>(); public List<List<Integer>> permute(int[] nums) { dfs(nums,0); return res; } public void dfs(int[] nums,int index){.

2020-06-17 16:25:22 216

原创 Leetcode38 外观数组题解

这种字符串处理的题目,微软很喜欢考思路是在递归的基础上进行字符串处理class Solution { public String countAndSay(int n) { if(n==1) return "1"; String str = countAndSay(n-1); StringBuilder sb = new StringBuilder(); int count = 1, i = 0; while(i

2020-06-17 15:46:43 160

原创 pi flux计算程序

主计算程序Nx=18; % Ny=4; % 体系宽度(y方向的长度)[x,y]=zigzag_graphene(Nx,Ny);n = 4*Nx*Ny;t1=-2.7;H=Hamiltonian_NN_graphene(x,y,t1);H=Hamiltonian_NN_phase(Nx,4*Ny,H,t1);H=Hamiltonian_defect(x,y,4*Ny,H,t1);miu = sqrt(3)*t1;H = H- miu*eye(n,n);HD=H(n/3+1:2/3.

2020-06-15 16:44:07 374

原创 Tasaki 模型自由部分哈密顿量

2020-06-15 16:36:20 285

原创 集团微扰展开理论CPT方法介绍

2020-06-15 16:24:51 214

原创 Hubbard 模型自洽平均场

2020-06-15 16:18:01 1172 2

原创 Leetcode 39/40 组合总和回溯算法

39 组合总和,所给数组不重复且无限次使用注意先排序剪枝,不需要去重,简单40 组合总和二,所给数组有重复,且只能使用一次。注意去重,注意去重的条件判断,>index同样剪枝排序下一层是i+1class Solution { List<List<Integer>> res = new ArrayList<>(); public List<List<Integer>> combination..

2020-06-15 14:39:27 175

原创 高数题库系统设想

众所周知,大学的期末考试不是选拔性考试,而是通过性考试,特点是考点范围狭窄且固定,一个设想是通过数据库题库技术建立关键词机制去按照考点分析。这样能达到快速应试的目的。题目: \分值:7分考点:空间解析几何难度:简单计算量:小出现时间:解答:题目:分值:7分考点:偏导数的定义难度:简单计算量:小出现时间:解答:题目:分值:7分考点:偏导数的定义难度:简单计算量:中出现时间:解答:题目:分...

2020-06-15 12:47:40 244

原创 Leetcode 22 括号生成

递归回溯法递归的状态是左括号的数量加有括号的数量=2*n什么时候可以填左括号,当左括号数量<=n时可以填左括号。什么时候可以填右括号,当右括号的数量<=n 并且,右括号个数小于左括号时可以填右括号。public class Solution { List<String> res = new ArrayList<>(); public List<String> generateParenthesis(int n) {

2020-06-14 23:10:53 120

原创 Leetcode 21到30题总结

LeetCode 21. 合并两个有序链表双指针归并算法LeetCode 23. 合并K个排序链表最小堆归并或者分治法,当然分治法要更难LeetCode 24. 两两交换链表中的节点链表题LeetCode 25. K 个一组翻转链表链表题LeetCode 26. 删除排序数组中的重复项经典双指针算法LeetCode 27. 移除元素 双指针算法LeetCode 28. 实现 strStr()字符串匹配Le...

2020-06-14 22:11:56 177

原创 Leetcode 17题 回溯深搜

建议将递归树画出来,并用全局变量保存结果,比较清晰import java.util.ArrayList;import java.util.List;public class Solution { String[] phoneNumber = { "","","abc","def", "ghi","jkl","mno", "pqrs","tuv","wxyz", }; List<String&

2020-06-14 15:28:16 343

原创 Leetcode 两数之和,三数之和,四数之和双指针去重算法

两数之和直接双指针,去重三数之和先枚举一个,两个用双指针优化掉 O(N^2),注意去重四数之和先枚举两个,两个用双指针优化掉, O(N^3), 注意去重拓展:N数之和

2020-06-14 14:55:42 274

原创 经典C语言项目Webbench详解

Webbench是一个在linux下使用的非常简单的命令行网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。这个项目由纯C实现,使用linux系统调用。命令行参数如下:项目地址:https://github.com/EZLippi/WebBench由于C语言没有原生的HTTP包,需要用字符串实现HTTP协议,所以是非常麻烦的。另外还需要使用linux系统下的多进程以及管道。这些都是这个项..

2020-06-13 15:13:51 562

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除