问题 | 链接 |
---|---|
给定一个整数数组,找出相邻元素的最大乘积并返回该乘积。 | adjacentElementProduct.py |
将字符串"123"转换为123,不使用内置函数int() 。 | atoi.py |
给定一个数组,判断数字是否存在,实现二分查找的递归 方法。如果元素未找到则返回-1。 | binary_search_recursive.py |
Bresenham直线算法(BLA)是计算机图形学中最早开发的算法之一,用于绘制直线。 | bresenham_line_algorithm.py |
找出二叉搜索树中在给定范围内的节点数。 | bst_nodes_in_range.py |
冒泡排序 | bubbleSort.py |
计算任意给定时间时钟的时针和分针之间的夹角。假设是模拟时钟。 | calculateClockAngle.py |
给定两个长度为m和n的字符串,找出需要从两个字符串中删除多少个字符才能使它们成为彼此的变位词。 | check_anagrams.py |
在给定范围内找出半素数。半素数是两个素数的乘积,不一定是不同的素数。素数的平方也是半素数。 | check_semiprime.py |
给定一个图,有两种遍历方法:1. 深度优先搜索(DFS) 2. 广度优先搜索(BFS) | dfs_bfs.py |
树的直径(有时称为宽度)是两个端节点(最左叶节点和最右叶节点)之间最长路径上的节点数。 | diameterOfTree.py |
使用随机分布估算π值 | estimate_pi.py |
编写一个高效程序,打印数组中k个最大的元素。数组中的元素可以是任意顺序。 | find_k_largest.py |
给定一个链表,此方法将返回倒数第m个元素。2->3->4->8->5; m=2将返回8,因为8是倒数第二个。 | find_m_to_last_llist.py |
给定一个数字数组,找出所有和为k 的数字对。 | find_pairs_sum_k.py |
给定一个数字数组,找出所有乘积为k 的数字对。 | find_products_pair_k.py |
给定一个整数数组,编写一个函数,如果存在满足a^2 + b^2 = c^2的三元组(a, b, c),则返回true。 | find_pythagoras_triplet.py |
给定一个二叉树,找出其中第二大的节点。 | find_second_largest_in_binary_tree.py |
编写一个函数,计算前100个斐波那契数。 | first_n_fibo.py |
给定一个输入字符串,找出其中第一个不重复的字符。 | first_non_repeating.py |
给定一个输入字符串,找出其中第一个重复的字符。 | first_recurring_character.py |
给定一个字符串,找出其中第一个不重复的字符。例如,如果输入字符串是"GeeksforGeeks",则输出应为'f';如果输入字符串是"GeeksQuiz",则输出应为'G'。 | first_unique_letter.py |
编写一个函数,给定一个非负整数列表,将它们排列成可能形成的最大数字。例如,给定[50, 2, 1, 9],形成的最大数字是95021。 | gen_largest_num_frm_list.py |
Python中的树数据结构 | general_tree_structure.py |
给定所有到达火车站的列车的到达和离开时间,任务是找出火车站所需的最小月台数,以确保没有列车需要等待。<br /><br />我们有两个数组,分别表示停靠列车的到达和离开时间。 | getMinPlatforms.py |
打印字符串中的重复字符 | get_dup_chars.py |
检查给定数组是否有和为零的子数组 | hasZeroSumSubArray.py |
给定一个字符串,检查它是否只包含数字 | has_only_digits.py |
给定两个经纬度坐标,计算它们之间的Haversine 距离 | haversine.py |
堆数据结构 | heap_structure.py |
不使用任何数字或整数打印1到100的数字 | hundred_without_int.py |
编写一个程序将整数转换为罗马数字表示 | interger_to_roman_num.py |
给定两个大小为m和n的有序数组,其中所有元素都是不同的。找出它们之间的共同元素。 | intersection_arrays.py |
检查矩阵是否对称 | isMatrixSymmetric.py |
检查两个字符串是否互为变位词 | is_anagram.py |
检查两个字符串是否互为变位词 | is_anagram_using_collections.py |
编写一个程序检查一个数字是否是回文数 | is_num_palindrome.py |
给定一个字符串,如果它是数字类型返回True,否则返回False | is_numeric.py |
N个士兵站成一圈,第一个人拿着剑,他杀死第二个人并把剑交给第三个人,依此类推直到第99个人杀死第100个人并把剑还给第一个人,如此循环直到只剩下一个人幸存。打印出幸存者。 | josephus.py |
这个改进版本的有效时间复杂度为O(logN)。问题描述请参考josephus.py | josephus_improved.py |
这个改进版本的有效时间复杂度为O(1)。问题描述请参考josephus.py | josephus_improved_v3.py |
实现Karatsuba算法 | karatsuba.py |
实现二叉树的层序遍历 | level_order_tree.py |
链表数据结构 | linked_list_data_structure.py |
检测链表是否有环 | loop_in_linkedlist.py |
在二叉搜索树中找到两个节点的最低公共祖先。设T是一个有根树。两个节点n1和n2的最低公共祖先定义为T中最低的同时包含n1和n2作为后代的节点(允许节点是自身的后代)。n1和n2在T中的LCA是距根最远的n1和n2的共同祖先。 | lowest_common_ancestor.py |
在大小为n的数组A[]中,出现次数超过n/2的元素称为多数元素。在给定数组中找出多数元素。 | majority_element.py |
不使用内置函数找出数组中的最大数 | max_in_array.py |
给定一个包含正数和负数的列表,找出最大子数组和。约束:在O(n)时间内解决 | maximum_subarray_sum.py |
归并排序的实现 | merge_sort.py |
在单次循环中找出数组中的最小和最大数 | min_max_array_oneLoop.py |
给定一个整数数组,需要将所有零移到末尾并保持其他元素的顺序不变。这应该是一个原地解决方案 | move_zeros_to_end.py |
打印二叉树中没有兄弟的节点 | no_sibling_tree.py |
让所有奇数排在偶数之前,并将奇数按升序排列,偶数按降序排列。例如,字符串'1982376455'变为'1355798642' | oddAscEvenDesc.py |
计算并打印给定层数的帕斯卡三角形 | pascal_triangle.py |
使用阶乘,将程序的时间复杂度从O(2^N)降低到O(N) | pascals_triangle_improved.py |
打印字符串的全排列 | permutations.py |
打印字符串的全排列(简化版) | permute_strings.py |
二叉搜索树的迭代前序遍历 | preorder_iterative_bst.py |
优先队列的实现 | priority_queue_simple.py |
将字符串"k:1 | k1:2 |
给定一个包含n个整数的数组arr[],构造一个大小相同的乘积数组prod[],使得prod[i]等于arr[]中除arr[i]外所有元素的乘积。 | product_puzzle.py |
队列数据结构的实现 | queue_data_structure.py |
快速排序的实现 | quick_sort.py |
编写一个高效的函数,从ASCII字符串 中删除在remove中存在的任何字符。例如,给定str为"Battle of the Vowels: Hawaii vs. Grozny",remove为"aeiou",函数应将str转换为"Bttl f th Vwls: Hw vs. Grzny"。 | remove_chars.py |
从字符串中删除重复字符 | remove_dup_chars.py |
使用字典删除重复项 | remove_duplicates.py |
使用额外空间删除重复项 | remove_duplicates_v2.py |
原地反转字符串 | reverse_in_place.py |
使用递归反转字符串 | reverse_str_recursive.py |
给定一个句子,反转每个单词但不反转整个句子 | reverse_words.py |
给定一个矩阵,将其旋转180度 | rotateMatrix180Deg.py |
从整数数据流中找出中位数 | running_median_integers.py |
给定一个排序数组,其中所有元素都出现两次(一个接一个),只 有一个元素出现一次。找出该元素。约束:时间复杂度为O(log n)。 | search_unique.py |
选择排序的简单实现 | selection_sort.py |
栈数据结构的简单实现 | stack_data_structure.py |
股票价格的跨度Si在给定的第i天被定义为恰好在给定日期之前的最大连续天数,在这些天中,股票的当前价格小于或等于给定日的价格。<br /><br />问题:我们有一系列n天的股票每日报价,需要计算所有n天的股票价格跨度 | stock_span.py |
编写一个程序,使用递归对给定数组求和 | sum_array_recursion.py |
你正在接收两个以日期为键的数据流,合并这两个流,如果有共同日期则返回值的平均数,否则仅更新流中接收到的值,参考代码中的示例 | timeseries.py |
给定两个大小分别为m和n的已排序数组,其中所有元素都是不同的。以O(m+n)的复杂度找出它们的并集 | union_arrays.py |
用户名验证程序 | username_validation.py |
给定一个整数数组(包含正数、负数和0),找出所有给定值的乘积的符号 | signOfProduct.py |
Interview_Questions.md
中新增 57 个问题。解决方案即将上传。
40+ 个常见代码和面试问题已用 Python 解决(数量持续增加中...)
欢迎提交问题和改进建议。
请参考每个项目的风格指南和提交补丁及新增内容的指南。通常,我们遵循"fork-and-pull"Git 工作流程。
注意:在提交拉取请求之前,请确保合并最新的"上游"更改!
MIT 许可证
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一 个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。