Categorygithub.com/godcong/leetcode
modulepackage
0.0.0-20241113083646-cc50aed9d7d0
Repository: https://github.com/godcong/leetcode.git
Documentation: pkg.go.dev

# README

leetcode

Implementation

Name rule #Index#.#Function#.go Index represents the number in leecode

Test case

Name rule #Index#.#Function#_test.go

Common definitions

All append into def.go

About

This project has compiled and collected relatively efficient problem-solving algorithms

PS

Code after 2022/02/20 may not be completed

All completed questions

总完成:417

目录标题题目名称函数入口测试代码
0001两数之和two-sumGOTEST
0001两数之和twoSumGOTEST
0002两数相加addTwoNumbersAddGOTEST
0003无重复字符的最长子串lengthOfLongestSubstringGOTEST
0005最长回文子串longestPalindromeGOTEST
0006Z 字形变换convertGOTEST
0007整数反转reverseGOTEST
0007整数反转reverseGOTEST
0008字符串转换整数 (atoi)myAtoiGOTEST
0012整数转罗马数字intToRomanGOTEST
0013罗马数字转整数romanToIntGOTEST
0014最长公共前缀longestCommonPrefixGOTEST
0017电话号码的字母组合letterCombinationsGOTEST
0018四数之和fourSumGOTEST
0019删除链表的倒数第N个节点removeNthFromEndGOTEST
0020有效的括号isValidGOTEST
0024两两交换链表中的节点swapPairsGOTEST
0026删除有序数组中的重复项removeDuplicatesGOTEST
0027移除元素removeElementGOTEST
0027移除元素removeElementGOTEST
实现 strStr()0028GOTEST
0031下一个排列nextPermutationGOTEST
0034在排序数组中查找元素的第一个和最后一个位置searchRangeGOTEST
0037解数独solveSudokuGOTEST
0039组合总和combinationSumGOTEST
0040组合总和 IIcombinationSum2GOTEST
0043字符串相乘multiplyGOTEST
0047全排列 IIpermuteUniqueGOTEST
0048旋转图像rotateGOTEST
0049字母异位词分组groupAnagramsGOTEST
N 皇后0051GOTEST
0051N 皇后solveNQueensGOTEST
0052N皇后 IItotalNQueensGOTEST
0054螺旋矩阵spiralOrderGOTEST
0057插入区间insertGOTEST
0058最后一个单词的长度lengthOfLastWordGOTEST
螺旋矩阵 II0059GOTEST
0060第k个排列getPermutationGOTEST
0061旋转链表rotateRightGOTEST
0062不同路径uniquePathsGOTEST
0065有效数字isNumberGOTEST
0067二进制求和addBinaryGOTEST
0070爬楼梯climbStairsGOTEST
0073矩阵置零setZeroesGOTEST
0074搜索二维矩阵searchMatrixGOTEST
0075颜色分类sortColorsGOTEST
0077组合combineGOTEST
0078子集subsetsGOTEST
0079单词搜索existGOTEST
0080删除有序数组中的重复项 IIremoveDuplicatesGOTEST
0081搜索旋转排序数组 IIsearchGOTEST
0082删除排序链表中的重复元素 IIdeleteDuplicatesGOTEST
0083删除排序链表中的重复元素deleteDuplicatesGOTEST
0085最大矩形maximalRectangleGOTEST
0086分隔链表partitionGOTEST
0087扰乱字符串isScrambleGOTEST
0088合并两个有序数组mergeGOTEST
0090子集 IIsubsetsWithDupGOTEST
0091解码方法numDecodingsGOTEST
0092反转链表 IIreverseBetweenGOTEST
0093复原IP地址restoreIpAddressesGOTEST
0094二叉树的中序遍历inorderTraversalGOTEST
0099恢复二叉搜索树recoverTreeGOTEST
0100平衡二叉树isBalancedGOTEST
0100相同的树isSameTreeGOTEST
0103二叉树的锯齿形层序遍历zigzagLevelOrderGOTEST
0106从中序与后序遍历序列构造二叉树buildTreeGOTEST
0107二叉树的层次遍历 IIlevelOrderBottomGOTEST
0109有序链表转换二叉搜索树sortedListToBSTGOTEST
0111二叉树的最小深度minDepthGOTEST
0113路径总和 IIpathSumGOTEST
0114填充每个节点的下一个右侧节点指针connectGOTEST
0115不同的子序列numDistinctGOTEST
0117填充每个节点的下一个右侧节点指针 IIconnectGOTEST
0118杨辉三角generateGOTEST
0119杨辉三角 IIgetRowGOTEST
0122买卖股票的最佳时机 IImaxProfitGOTEST
0123买卖股票的最佳时机 IIImaxProfitGOTEST
0127单词接龙ladderLengthGOTEST
0129求根到叶子节点数字之和sumNumbersDFSGOTEST
0130被围绕的区域solveGOTEST
分割回文串0131GOTEST
0132分割回文串 IIminCutGOTEST
0133克隆图cloneGraphGOTEST
0134加油站canCompleteCircuitGOTEST
0135分发糖果candyGOTEST
0137只出现一次的数字 IIsingleNumberGOTEST
0137上升下降字符串sortStringGOTEST
0138复制带随机指针的链表copy-list-with-random-pointerGOTEST
0140单词拆分 IIwordBreakGOTEST
0141环形链表hasCycleGOTEST
0142环形链表 IIdetectCycleGOTEST
0143重排链表reorderListGOTEST
0144二叉树的前序遍历preorderTraversalGOTEST
0145二叉树的后序遍历postorderTraversalGOTEST
0147对链表进行插入排序insertionSortListGOTEST
0148排序链表sortListGOTEST
0149直线上最多的点数max-points-on-a-lineGOTEST
0150逆波兰表达式求值evalRPNGOTEST
0153寻找旋转排序数组中的最小值findMinGOTEST
0154寻找旋转排序数组中的最小值 IIfindMinGOTEST
0160getIntersectionNodeGOTEST
0164最大间距maximumGapGOTEST
0168Excel表列名称excel-sheet-column-titleGOTEST
0171Excel 表列序号excel-sheet-column-numberGOTEST
0173二叉搜索树迭代器BSTIteratorGOTEST
0179最大数largestNumberGOTEST
0188买卖股票的最佳时机 IVmaxProfitGOTEST
0189旋转数组rotateGOTEST
0190颠倒二进制位reverseBitsGOTEST
0191位1的个数hammingWeightGOTEST
0193有效电话号码BashGOTEST
0201数字范围按位与rangeBitwiseAndGOTEST
0203移除链表元素removeElementsGOTEST
0204计数质数countPrimesGOTEST
0205同构字符串isIsomorphicGOTEST
0208实现 Trie (前缀树)TrieGOTEST
0213打家劫舍 IIrobGOTEST
0214最短回文串shortestPalindromeGOTEST
0216组合总和 IIIcombinationSum3GOTEST
0217存在重复元素containsDuplicateGOTEST
0218天际线问题the-skyline-problemGOTEST
存在重复元素 III0220GOTEST
0222完全二叉树的节点个数countNodesGOTEST
0224基本计算器calculateGOTEST
0226翻转二叉树invertTreeGOTEST
0227基本计算器 IIcalculateGOTEST
0228汇总区间summaryRangesGOTEST
02312 的幂isPowerOfTwoGOTEST
0232用栈实现队列MyQueueGOTEST
0233数字 1 的个数number-of-digit-oneGOTEST
0234回文链表isPalindromeGOTEST
0235二叉搜索树的最近公共祖先lowestCommonAncestorGOTEST
0239滑动窗口最大值maxSlidingWindowGOTEST
0242有效的字母异位词isAnagramGOTEST
0257二叉树的所有路径binaryTreePathsGOTEST
0263丑数isUglyGOTEST
0264丑数 IInthUglyNumberGOTEST
0274H 指数h-indexGOTEST
0275H 指数 IIh-index-iiGOTEST
0278第一个错误的版本firstBadVersionGOTEST
第一个错误的版本dummyGOTEST
0279完全平方数numSquaresGOTEST
0283移动零moveZeroesGOTEST
0290单词规律wordPatternGOTEST
0303区域和检索 - 数组不可变SumRangeGOTEST
0304二维区域和检索 - 矩阵不可变SumRegionGOTEST
0313超级丑数super-ugly-numberGOTEST
0316去除重复字母removeDuplicateLettersGOTEST
0321拼接最大数maxNumberGOTEST
0327区间和的个数countRangeSumGOTEST
0328奇偶链表oddEvenListGOTEST
0330按要求补齐数组minPatchesGOTEST
0331验证二叉树的前序序列化isValidSerializationGOTEST
0332重新安排行程findItineraryGOTEST
0338比特位计数countBitsGOTEST
0341扁平化嵌套列表迭代器NestedIteratorGOTEST
0342给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true ;否则,返回 false 。isPowerOfFourGOTEST
0344反转字符串reverseStringGOTEST
0345reverse-vowels-of-a-stringGOTEST
0347前 K 个高频元素topKFrequentGOTEST
0349两个数组的交集intersectionGOTEST
0354俄罗斯套娃信封问题maxEnvelopesGOTEST
0363矩形区域不超过 K 的最大数值和maxSumSubmatrixGOTEST
最大整除子集0368GOTEST
0374猜数字大小guessNumberGOTEST
猜数字大小dummyGOTEST
0376摆动序列wiggleMaxLengthGOTEST
0377组合总和 ⅣcombinationSum4GOTEST
0381O(1) 时间插入、删除和获取随机元素 - 允许重复RandomizedCollectionGOTEST
0387字符串中的第一个唯一字符firstUniqCharGOTEST
0389找不同findTheDifferenceGOTEST
0395至少有 K 个重复字符的最长子串longestSubstringGOTEST
0399除法求值calcEquationGOTEST
0401二进制手表binary-watchGOTEST
0402移掉K位数字removeKdigitsGOTEST
0403青蛙过河canCrossGOTEST
0404左叶子之和sumOfLeftLeavesGOTEST
0406根据身高重建队列reconstructQueueGOTEST
0413等差数列划分arithmetic-slicesGOTEST
0415字符串相加addStringsGOTEST
0416分割等和子集canPartitionGOTEST
0421数组中两个数的最大异或值findMaximumXORGOTEST
0424替换后的最长重复字符characterReplacementGOTEST
0435无重叠区间eraseOverlapIntervalsGOTEST
0446等差数列划分 II - 子序列arithmetic-slices-ii-subsequenceGOTEST
0448找到所有数组中消失的数字findDisappearedNumbersGOTEST
0451根据字符出现频率排序sort-characters-by-frequencyGOTEST
0452用最少数量的箭引爆气球findMinArrowShotsGOTEST
0454四数相加 IIfourSumCountGOTEST
0455分发饼干findContentChildrenGOTEST
0457环形数组是否存在循环circular-array-loopGOTEST
0459132 模式find132patternGOTEST
0459重复的子字符串repeatedSubstringPatternGOTEST
0461汉明距离hammingDistanceGOTEST
0461汉明距离hammingDistanceGOTEST
0463岛屿的周长islandPerimeterGOTEST
0474一和零findMaxFormGOTEST
0475供暖器findRadiusGOTEST
0480滑动窗口中位数medianSlidingWindowGOTEST
0483最小好进制smallestGoodBaseGOTEST
0485最大连续1的个数findMaxConsecutiveOnesGOTEST
0486预测赢家PredictTheWinnerGOTEST
0491递增子序列findSubsequencesGOTEST
0493翻转对reversePairsGOTEST
0494目标和findTargetSumWaysGOTEST
0501二叉搜索树中的众数findModeGOTEST
0503下一个更大元素 IInextGreaterElementsGOTEST
0509斐波那契数fibGOTEST
0514自由之路findRotateStepsGOTEST
0516最长回文子序列longest-palindromic-subsequenceGOTEST
0518零钱兑换 IIchangeGOTEST
0523连续的子数组和checkSubarraySumGOTEST
0525连续数组contiguous-arrayGOTEST
0526优美的排列beautiful-arrangementGOTEST
0528把二叉搜索树转换为累加树convertBSTGOTEST
0530二叉搜索树的最小绝对差getMinimumDifferenceGOTEST
0532数组中的K-diff数对findPairsGOTEST
0541反转字符串 IIreverse-string-iiGOTEST
0546移除盒子removeBoxesGOTEST
0547省份数量findCircleNumGOTEST
0551学生出勤记录 Istudent-attendance-record-iGOTEST
0552student-attendance-record-iiGOTEST
0554砖墙leastBricksGOTEST
0557反转字符串中的单词 IIIreverseWordsGOTEST
0561数组拆分 IarrayPairSumGOTEST
0566重塑矩阵matrixReshapeGOTEST
0567字符串的排列checkInclusionGOTEST
0576出界的路径数out-of-boundary-pathsGOTEST
0581最短无序连续子数组shortest-unsorted-continuous-subarrayGOTEST
0581最短无序连续子数组findUnsortedSubarrayGOTEST
0605种花问题canPlaceFlowersGOTEST
0611有效三角形的个数valid-triangle-numberGOTEST
0617合并二叉树mergeTreesGOTEST
0621任务调度器leastIntervalGOTEST
0628三个数的最大乘积maximumProductGOTEST
0633平方数之和judgeSquareSumGOTEST
0633平方数之和judgeSquareSumGOTEST
0637二叉树的层平均值averageOfLevelsGOTEST
0643子数组最大平均数 IfindMaxAverageGOTEST
0645错误的集合set-mismatchGOTEST
0647回文子串countSubstringsGOTEST
0649Dota2 参议院predictPartyVictoryGOTEST
0657机器人能否返回原点judgeCircleGOTEST
0659分割数组为连续子序列isPossibleGOTEST
0664奇怪的打印机strangePrinterGOTEST
0665非递减数列checkPossibilityGOTEST
0671二叉树中第二小的节点second-minimum-node-in-a-binary-treeGOTEST
0674最长连续递增序列findLengthOfLCISGOTEST
067924 点游戏judgePoint24GOTEST
0684冗余连接findRedundantConnectionGOTEST
0685冗余连接 IIfindRedundantDirectedConnectionGOTEST
0686重复叠加字符串匹配repeatedStringMatchGOTEST
0690员工的重要性getImportanceGOTEST
0692前K个高频单词topKFrequentGOTEST
0696计数二进制子串countBinarySubstringsGOTEST
0697数组的度findShortestSubArrayGOTEST
0701二叉搜索树中的插入操作insertIntoBSTGOTEST
0703数据流中的第 K 大元素KthLargestGOTEST
0705设计哈希集合MyHashSetGOTEST
0706设计哈希映射MyHashMapGOTEST
0714买卖股票的最佳时机含手续费maxProfitGOTEST
0721账户合并accountsMergeGOTEST
0724寻找数组的中心索引pivotIndexGOTEST
0726原子的数量number-of-atomsGOTEST
0733图像渲染floodFillGOTEST
0738单调递增的数字monotoneIncreasingDigitsGOTEST
0740删除并获得点数deleteAndEarnGOTEST
0743网络延迟时间network-delay-timeGOTEST
0746使用最小花费爬楼梯minCostClimbingStairsGOTEST
0752打开转盘锁open-the-lockGOTEST
0763划分字母区间partitionLabelsGOTEST
0765情侣牵手minSwapsCouplesGOTEST
0766托普利茨矩阵isToeplitzMatrixGOTEST
0767重构字符串reorganizeStringGOTEST
0771宝石与石头numJewelsInStonesGOTEST
0773滑动谜题sliding-puzzleGOTEST
0778水位上升的泳池中游泳swimInWaterGOTEST
0781森林中的兔子numRabbitsGOTEST
0783二叉搜索树节点最小距离minDiffInBSTGOTEST
0802找到最终的安全状态find-eventual-safe-statesGOTEST
0803打砖块hitBricksGOTEST
0804唯一摩尔斯密码词uniqueMorseRepresentationsGOTEST
0810黑板异或游戏xorGameGOTEST
0815公交路线bus-routesGOTEST
0830较大分组的位置numSimilarGroupsGOTEST
0832翻转图像flipAndInvertImageGOTEST
0834树中距离之和sumOfDistancesInTreeGOTEST
0839相似字符串组numSimilarGroupsGOTEST
0840矩阵中的幻方numMagicSquaresInsideGOTEST
0841钥匙和房间canVisitAllRoomsGOTEST
0842将数组拆分成斐波那契序列splitIntoFibonacciGOTEST
0844比较含退格的字符串backspaceCompareGOTEST
0845数组中的最长山脉longestMountainGOTEST
0847访问所有节点的最短路径shortest-path-visiting-all-nodesGOTEST
0852山脉数组的峰顶索引peakIndexInMountainArrayGOTEST
0860柠檬水找零lemonadeChangeGOTEST
0861翻转矩阵后的得分matrixScoreGOTEST
0863二叉树中所有距离为 K 的结点all-nodes-distance-k-in-binary-treeGOTEST
0867转置矩阵transposeGOTEST
叶子相似的树0872GOTEST
0874模拟行走机器人robotSimGOTEST
0877石子游戏stoneGameGOTEST
0879盈利计划profitableSchemesGOTEST
0888公平的糖果棒交换fairCandySwapGOTEST
0896单调数列isMonotonicGOTEST
0897递增顺序搜索树increasingBSTGOTEST
0909蛇梯棋snakes-and-laddersGOTEST
0922按奇偶排序数组 IIsortArrayByParityIIGOTEST
0925长按键入isLongPressedNameGOTEST
0930和相同的二元子数组binary-subarrays-with-sumGOTEST
0938二叉搜索树的范围和rangeSumBSTGOTEST
0941有效的山脉数组validMountainArrayGOTEST
0947移除最多的同行或同列石头removeStonesGOTEST
0949给定数字能组成的最大时间largestTimeFromDigitsGOTEST
0959由斜杠划分区域regionsBySlashesGOTEST
0968监控二叉树minCameraCoverGOTEST
0973最接近原点的 K 个点kClosestGOTEST
0976三角形的最大周长largestPerimeterGOTEST
0977有序数组的平方sortedSquaresGOTEST
0978最长湍流子数组maxTurbulenceSizeGOTEST
0981基于时间的键值存储time-based-key-value-storeGOTEST
0987二叉树的垂序遍历vertical-order-traversal-of-a-binary-treeGOTEST
0989数组形式的整数加法addToArrayFormGOTEST
0992K 个不同整数的子数组subarraysWithKDistinctGOTEST
0993二叉树的堂兄弟节点isCousinsGOTEST
0995K 连续位的最小翻转次数minKBitFlipsGOTEST
1004最大连续1的个数 IIIlongestOnesGOTEST
1006笨阶乘clumsyGOTEST
1011在 D 天内送达包裹的能力shipWithinDaysGOTEST
1018可被 5 整除的二进制前缀prefixesDivBy5GOTEST
1021删除最外层的括号removeOuterParenthesesGOTEST
1024视频拼接videoStitchingGOTEST
1030距离顺序排列矩阵单元格allCellsDistOrderGOTEST
1035不相交的线maxUncrossedLinesGOTEST
1046最后一块石头的重量lastStoneWeightGOTEST
1047删除字符串中的所有相邻重复项removeDuplicatesGOTEST
1049最后一块石头的重量 IIlastStoneWeightIIGOTEST
最后一块石头的重量 IIREADMEGOTEST
1051高度检查器heightCheckerGOTEST
1052爱生气的书店老板maxSatisfiedGOTEST
1074元素和为目标值的子矩阵数量numSubmatrixSumTargetGOTEST
1104二叉树寻路path-in-zigzag-labelled-binary-treeGOTEST
1108IP 地址无效化defangIPaddrGOTEST
1122数组的相对排序relativeSortArrayGOTEST
1128等价多米诺骨牌对的数量numEquivDominoPairsGOTEST
1137第 N 个泰波那契数n-th-tribonacci-numberGOTEST
11433最长公共子序列longestCommonSubsequenceGOTEST
1178猜字谜findNumOfValidWordsGOTEST
1190反转每对括号间的子串reverseParenthesesGOTEST
1202交换字符串中的元素smallestStringWithSwapsGOTEST
1203项目管理sortItemsGOTEST
1207独一无二的出现次数uniqueOccurrencesGOTEST
1208尽可能使字符串相等equalSubstringGOTEST
1232缀点成线checkStraightLineGOTEST
1239串联字符串的最大长度maximum-length-of-a-concatenated-string-with-unique-charactersGOTEST
1269停在原地的方案数numWaysGOTEST
1299将每个元素替换为右侧最大元素replaceElementsGOTEST
1310子数组异或查询xorQueriesGOTEST
1319连通网络的操作次数makeConnectedGOTEST
1337矩阵中战斗力最弱的 K 行the-k-weakest-rows-in-a-matrixGOTEST
1351统计有序矩阵中的负数countNegativesGOTEST
1356根据数字二进制下 1 的数目排序sortByBitsGOTEST
1365有多少小于当前数字的数字smallerNumbersThanCurrentGOTEST
1418点菜展示表display-table-of-food-orders-in-a-restaurantGOTEST
1423可获得的最大点数maxScoreGOTEST
1431拥有最多糖果的孩子kidsWithCandiesGOTEST
1438绝对差不超过限制的最长连续子数组longestSubarrayGOTEST
1442形成两个异或相等数组的三元组数目countTripletsGOTEST
1449数位成本和为目标值的最大数字largestNumberGOTEST
1470重新排列数组shuffleGOTEST
1473粉刷房子 IIIminCostGOTEST
1480一维数组的动态和runningSumGOTEST
1482制作 m 束花所需的最少天数minDaysGOTEST
1486数组异或操作xorOperationGOTEST
1486数组异或操作xorOperationGOTEST
1489找到最小生成树里的关键边和伪关键边findCriticalAndPseudoCriticalEdgesGOTEST
1496判断路径是否相交isPathCrossingGOTEST
1502判断能否形成等差数列canMakeArithmeticProgressionGOTEST
1507转变日期格式reformatDateGOTEST
1512好数对的数目numIdenticalPairsGOTEST
1539第 k 个缺失的正整数findKthPositiveGOTEST
1544整理字符串makeGoodGOTEST
1550存在连续三个奇数的数组threeConsecutiveOddsGOTEST
1563石子游戏 VstoneGameVGOTEST
1573分割字符串的方案数numWaysGOTEST
1579保证图可完全遍历maxNumEdgesToRemoveGOTEST
1583统计不开心的朋友count-unhappy-friendsGOTEST
1584连接所有点的最小费用minCostConnectPointsGOTEST
1600皇位继承顺序throne-inheritanceGOTEST
1603设计停车系统ParkingSystemGOTEST
1631最小体力消耗路径minimumEffortPathGOTEST
1707与数组中元素的最大异或值maximizeXorGOTEST
1711大餐计数count-good-mealsGOTEST
1713得到子序列的最少操作次数minimum-operations-to-make-a-subsequenceGOTEST
1720解码异或后的数组decodeGOTEST
1722执行交换操作后的最小汉明距离minimumHammingDistanceGOTEST
1723完成所有工作的最短时间minimumTimeRequiredGOTEST
1734解码异或后的排列decodeGOTEST
1736替换隐藏数字得到的最晚时间latest-time-by-replacing-hidden-digitsGOTEST
1738找出第 K 大的异或坐标值kthLargestValueGOTEST
1743从相邻元素对还原数组restore-the-array-from-adjacent-pairsGOTEST
1744你能在你最喜欢的那天吃到你最喜欢的糖果吗?can-you-eat-your-favorite-candy-on-your-favorite-dayGOTEST
1787使所有区间的异或结果为零minChangesGOTEST
1818绝对差值和minimum-absolute-sum-differenceGOTEST
1833雪糕的最大数量maximum-ice-cream-barsGOTEST
1838最高频元素的频数frequency-of-the-most-frequent-elementGOTEST
1846减小和重新排列数组后的最大元素maximum-element-after-decreasing-and-rearrangingGOTEST
1877数组中最大数对和的最小值minimize-maximum-pair-sum-in-arrayGOTEST
1893检查是否区域内所有整数都被覆盖check-if-all-the-integers-in-a-range-are-coveredGOTEST
InterviewQuestion_10_02group-anagrams-lcciGOTEST
InterviewQuestion_17_10find-majority-element-lcciGOTEST
LCP_07传递信息chuan-di-xin-xiGOTEST
SwordRefers_Offer_53_Izai-pai-xu-shu-zu-zhong-cha-zhao-shu-zi-lcofGOTEST
剑指_Offer_15二进制中1的个数er-jin-zhi-zhong-1de-ge-shu-lcofGOTEST
剑指_Offer_37序列化二叉树xu-lie-hua-er-cha-shu-lcofGOTEST
剑指_Offer_38字符串的排列zi-fu-chuan-de-pai-lie-lcofGOTEST

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author