游戏开发 | ETH MSCS 在读

给一个数组 nums 写一个函数将 0 移动到数组的最后面,非零元素保持原数组的顺序

样例

例1:

1
2
输入: nums = [0, 1, 0, 3, 12],
输出: [1, 3, 12, 0, 0].
阅读全文 »

回溯法是一种非常常见的算法,八皇后问题和迷宫问题都可以使用回溯法进行求解。以下是百度百科中对于回溯法的解释

回溯法(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。 ——百度百科

回溯法采用一种试探回溯的思想。我们从一个一个分支逐步深入,一旦发现当前分支不是我们所需要的,就排除当前分支,然后回到上一步试探其他分支。迷宫问题就是一种常见的使用回溯法的算法问题。事实上,在现实生活中走迷宫我们也经常使用这种试探的走法。

除了迷宫问题,全排列问题,八皇后问题也都是回溯法的典型问题

阅读全文 »

今天在调试Android程序的时候,想要log一段json数据,数据挺大的,折腾了半天,原来以为是JSON的长度会不会是有上限的,经过搜索发现并没有,参考StackOverflow的两个问题android - What is limit of json array and how to overcome it - Stack OverflowIs there a limit on how much JSON can hold? - Stack Overflow。此外,还试图研究Java中String的长度上限,参考这篇文章java中String类型的最大长度_cyw1900的专栏-CSDN博客_string类型的最大长度,发现String的上限远比我的数据要大的多,总结就是String类型的长度为320339960,其最大容量不超过1个G

后来发现是Android studio的log的字符串长度是有上限的,logcat在实现上对于message的内存分配大概是4k左右,实际上根据我的个人的log来看,截取的部分大约是4056个字符串,超过的部分都会被截断。经过搜索,发现网上一个博主自己定义一个debug工具类切分超过4k的message,来解决这个问题。

阅读全文 »

本文记录一下使用过搜索过的Linux的一些命令,作为一个Linux新手,很多命令用了就忘,还是稍微记录一下比较好,单纯的做个笔记。

阅读全文 »

最近在学习的过程中,对正向代理和反向代理的区别纠结了好久,总是感觉有点相似,又有些微妙的差别,但是又说不上到底如何理解,终于找到了一篇讲得比较清晰好理解的博文,适合我这种新手小白,记录一下,原文原载于终于有人把正向代理和反向代理解释的明明白白了! - 云+社区 - 腾讯云 (tencent.com),原文图文并茂,生动形象,本文由于版权原因,没有了图片,权当个人笔记,如有兴趣,可以直接去看一看原文。

阅读全文 »

作为一个数据库小白,PostgreSQL居然是我第一个使用的数据库而不是MySQL。有的时候有些操作难免忘记,就又要到网上去查询,这里就记录一下我忘记的那些一些用到过的SQL语句吧(虽然有些可能感觉挺蠢的orz。

阅读全文 »

最近的一个项目中有着大量关于时间和日期的应用,从网上找到一篇教程记录一下,就当放进收藏夹里好了。

DateCalendar原载于Java时间日期的处理:Java Date类、Calendar类详解 (biancheng.net)

DateFormatSimpleDateFormat原载于Java日期格式化(DateFormat类和SimpleDateFormat类) (biancheng.net)

阅读全文 »

Android 为我们提供了一个能够获取Package的信息的类PackageManager,从中我们可以通过包名获取到例如App名称,桌面图标等应用信息。简单记录一下如何使用PackageManager获取对应的信息吧。

阅读全文 »

记录一下给定一个时间戳,Java获取这一天开始和结束时间的方法,主要还是没有系统的学习过Java时间相关的类和使用方法

阅读全文 »

题目描述

给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。

构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点 。

例如,如果原链表中有 X 和 Y 两个节点,其中 X.random→Y 。那么在复制链表中对应的两个节点 x 和 y ,同样有 x.random→y

返回复制链表的头节点。

阅读全文 »