
数据结构与算法
乱码程序员
这个作者很懒,什么都没留下…
展开
-
debug之字符串的==与equals
今日程序之大bug在牛客上面笔试的时候遇到一道简单题,类似于力扣的605种花问题。然而我却百思不得其解为什么我没通过测试用例。考完之后我还在想,就在本地IDE上进行测试。最后我花了两个小时不停的debug终于想明白问题是什么了,总结如下题目要求,键盘输入字符串,例如: Y Y Y B然后我写的如下:String[] first= (sc.nextLine()).split(" ");丝毫没有问题最后我需要去遍历这个first里面是Y还是B,问题就来了,我用了这样的语句if(first[i]原创 2021-09-06 09:49:10 · 176 阅读 · 0 评论 -
(Java版)剑指offer(六)
43.1~n整数中1出现的次数class Solution { public int countDigitOne(int n) { int digit = 1, res = 0; int high = n / 10, cur = n % 10, low = 0; while(high != 0 || cur != 0) { if(cur == 0) res += high * digit;//此位 1的出现次数只由高位 hig原创 2021-07-09 20:09:28 · 97 阅读 · 0 评论 -
(Java版)剑指offer(五)
37.序列化二叉树这里要保证输出的格式都一致public class Codec { public String serialize(TreeNode root) { //使用层序遍历 if(root == null) return "[]"; StringBuilder res = new StringBuilder("["); Queue<TreeNode> queue = new LinkedList<>() {{原创 2021-07-08 15:44:31 · 78 阅读 · 0 评论 -
(Java版)剑指offer (四)
31.栈的压入和弹出栈辅助法,两个汉诺塔class Solution { public boolean validateStackSequences(int[] pushed, int[] popped) { //辅助栈方法 Stack<Integer> stack = new Stack<>(); int i = 0; for(int num : pushed) { stack.push(num原创 2021-07-05 14:14:55 · 94 阅读 · 0 评论 -
(Java版)剑指offer(三)
21.调整数组顺序使奇数位于偶数前面快慢指针法class Solution { public int[] exchange(int[] nums) { //快慢指针法 int fast=0,low=1; while(low < nums.length){ if(nums[fast] %2 ==1) { fast++; low++;原创 2021-07-04 13:06:16 · 96 阅读 · 0 评论 -
(Java版)剑指offer(二)
13.机器人的运动范围动态规划联通性为什么要&& (dp[i - 1][j] || dp[i][j - 1]);class Solution { public int movingCount(int m, int n, int k) { //状态:dp[i][j]代表第i,j个格子能否走到 boolean[][] dp = new boolean[m][n]; dp[0][0] = isValid(0, 0, k);原创 2021-07-03 14:20:33 · 77 阅读 · 0 评论 -
(Java版)剑指offer(一)
03.找数组中重复的数字HashSet只能存储不重复的数据把num放在HashSet中,可以存放表示没有重复,不能存放则表示重复class Solution { public int findRepeatNumber(int[] nums) { HashSet set = new HashSet(); int repeat = -1; for(int num:nums){ if(!set.add(num)){原创 2021-07-02 22:43:39 · 130 阅读 · 2 评论 -
C++ STL中容器的使用全面总结
C++ STL中容器的使用全面总结https://blog.youkuaiyun.com/u014465639/article/details/70241850转载 2021-02-06 22:59:04 · 108 阅读 · 0 评论