Join us in Developer++: DSA Series which is an C++ workshop series organized to upskill Data Structures & Algorithms concepts and problem solving in C++ Language. This event is going to be hosted by Prof. Piyush Kumar Soni who is an assistant professor at NMIMS MPSTME Shirpur campus with an experience of 9 year. This session is going to cover core topics of DSA like Vector, LinkedList, Stack and Queue, along with their implementation using STL Library.
Assg 14 C++ Standard Template Library (STL)(Extra Credit .docxfestockton
Assg 14: C++ Standard Template Library (STL)
(Extra Credit Opportunity)
COSC 2336 Fall 2019
Dates:
Due: Sunday December 08, by Midnight
Objectives
ˆ Practice using an enterprise level set of data structures and algorithms
provided by the STL.
ˆ Connect what we learned about things like stacks, queues, lists, dictio-
naries, etc. to their implementations and applications from the C++
STL.
Description
This assignment is a bit di�erent than the previous assignments in the class,
and is being given as an extra credit opportunity. The assignment is open
ended. I have described 7 tasks or items you can perform, involving the
C++ standard template library. I will give up to 5 points for each of the 7
tasks (for a total of up to 35 points), that will be considered extra credit,
and applied to your programming assignment portion of the course grade to
make up some points on past programs in the class.
This assignment is open ended. I have not given you any starting code or
tests/assertions to use for the assignment. To get credit for the assignment,
you should submit a single �le named "assg14-stl.cpp". The �le should be
compilable and runnable using the C++ IDE/compiler environment you and
I have been using this semester for the class assignments. I would prefer that
you create a separate function for each of the tasks you chose to submit work
for, and that your main function simply calls each of the functions for the
1
task. Your functions should be documented and code formatted using the
usual class style guidelines. You can make up some work for the functions
to do, e.g. to pass them in a parameter and return a value, if you wish.
However, it is also su�cient to simply have void functions that take no
parameters. You should, though, add some output and test assertions of
your own to demonstrate your code working on the tasks using the STL
containers and algorithms. Also if you do more than 1 task demonstrating
a container, make sure you always use a di�erent type to be stored in the
container. For example, don't demonstrate all of your containers on <int>
values, use a variety like <double> <string> <char>, or even better, create
your own small structure or class and demonstrate a container of those user
de�ned types you created.
You should use our textbook for reference on using the STL containers
and algorithms. Another good online reference for the C++ STL is:
cplusplus.com: http://www.cplusplus.com/reference/stl/
You may work on any of the following tasks for this extra credit oppor-
tunity:
1. The STL divides up its containers into 4 categories. The simplest are
the sequence containers, which are intended to store data and access
it in a sequential manner. Vectors are like basic arrays in C, but they
are dynamic and have the ability to resize themselves automatically
when an element is inserted or deleted. Vectors really use C arrays
for their implementation. Insertion can be done in O(1) time to the
end, though if the vecto ...
This is an intermediate conversion course for C++, suitable for second year computing students who may have learned Java or another language in first year.
Assg 14 C++ Standard Template Library (STL)(Extra Credit .docxfestockton
Assg 14: C++ Standard Template Library (STL)
(Extra Credit Opportunity)
COSC 2336 Fall 2019
Dates:
Due: Sunday December 08, by Midnight
Objectives
ˆ Practice using an enterprise level set of data structures and algorithms
provided by the STL.
ˆ Connect what we learned about things like stacks, queues, lists, dictio-
naries, etc. to their implementations and applications from the C++
STL.
Description
This assignment is a bit di�erent than the previous assignments in the class,
and is being given as an extra credit opportunity. The assignment is open
ended. I have described 7 tasks or items you can perform, involving the
C++ standard template library. I will give up to 5 points for each of the 7
tasks (for a total of up to 35 points), that will be considered extra credit,
and applied to your programming assignment portion of the course grade to
make up some points on past programs in the class.
This assignment is open ended. I have not given you any starting code or
tests/assertions to use for the assignment. To get credit for the assignment,
you should submit a single �le named "assg14-stl.cpp". The �le should be
compilable and runnable using the C++ IDE/compiler environment you and
I have been using this semester for the class assignments. I would prefer that
you create a separate function for each of the tasks you chose to submit work
for, and that your main function simply calls each of the functions for the
1
task. Your functions should be documented and code formatted using the
usual class style guidelines. You can make up some work for the functions
to do, e.g. to pass them in a parameter and return a value, if you wish.
However, it is also su�cient to simply have void functions that take no
parameters. You should, though, add some output and test assertions of
your own to demonstrate your code working on the tasks using the STL
containers and algorithms. Also if you do more than 1 task demonstrating
a container, make sure you always use a di�erent type to be stored in the
container. For example, don't demonstrate all of your containers on <int>
values, use a variety like <double> <string> <char>, or even better, create
your own small structure or class and demonstrate a container of those user
de�ned types you created.
You should use our textbook for reference on using the STL containers
and algorithms. Another good online reference for the C++ STL is:
cplusplus.com: http://www.cplusplus.com/reference/stl/
You may work on any of the following tasks for this extra credit oppor-
tunity:
1. The STL divides up its containers into 4 categories. The simplest are
the sequence containers, which are intended to store data and access
it in a sequential manner. Vectors are like basic arrays in C, but they
are dynamic and have the ability to resize themselves automatically
when an element is inserted or deleted. Vectors really use C arrays
for their implementation. Insertion can be done in O(1) time to the
end, though if the vecto ...
This is an intermediate conversion course for C++, suitable for second year computing students who may have learned Java or another language in first year.
In C, a struct models what a thing has/is (i.e., the data, also called the characteristics), but not what it does (its behavior, represented by functions).
The functions are outside and separate from structs.
In C++, the characteristics and behavior are integrated into a single structure, called object.
The data type of an object is the class of the object
The packaging of the data and the functions into a class type is called data encapsulation.
Stack is a collection based on the principle of adding elements and retrieving them in the opposite order
What is STACK?
Stack Operations
Applications
Built-in Stack
Downloadable Resources
In computer science, a queue (/ˈkjuː/ kyew) is a particular kind of abstract data type or collection in which the entities in the collection are kept in order and the principal (or only) operations on the collection are the addition of entities to the rear terminal position, known as enqueue, and removal of entities from the front terminal position, known as dequeue. This makes the queue a First-In-First-Out (FIFO) data structure. In a FIFO data structure, the first element added to the queue will be the first one to be removed. This is equivalent to the requirement that once a new element is added, all elements that were added before have to be removed before the new element can be removed. Often a peek or front operation is also entered, returning the value of the front element without dequeuing it. A queue is an example of a linear data structure, or more abstractly a sequential collection.
This is an intermediate conversion course for C++, suitable for second year computing students who may have learned Java or another language in first year.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
In C, a struct models what a thing has/is (i.e., the data, also called the characteristics), but not what it does (its behavior, represented by functions).
The functions are outside and separate from structs.
In C++, the characteristics and behavior are integrated into a single structure, called object.
The data type of an object is the class of the object
The packaging of the data and the functions into a class type is called data encapsulation.
Stack is a collection based on the principle of adding elements and retrieving them in the opposite order
What is STACK?
Stack Operations
Applications
Built-in Stack
Downloadable Resources
In computer science, a queue (/ˈkjuː/ kyew) is a particular kind of abstract data type or collection in which the entities in the collection are kept in order and the principal (or only) operations on the collection are the addition of entities to the rear terminal position, known as enqueue, and removal of entities from the front terminal position, known as dequeue. This makes the queue a First-In-First-Out (FIFO) data structure. In a FIFO data structure, the first element added to the queue will be the first one to be removed. This is equivalent to the requirement that once a new element is added, all elements that were added before have to be removed before the new element can be removed. Often a peek or front operation is also entered, returning the value of the front element without dequeuing it. A queue is an example of a linear data structure, or more abstractly a sequential collection.
This is an intermediate conversion course for C++, suitable for second year computing students who may have learned Java or another language in first year.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
DSA-Day-2-PS.pptx
1. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Day-2
19th February 2023
Data Structures- Using STL in C++
1
Instructor
Piyush Kumar Soni
Assistant Professor,
Information Technology Department
Workshop on
Data Structures &
Algorithms
2. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Contents
2
• Template Functions and Classes
• C++ Standard Template Library (STL)
• Iterators
• Algorithms
• Containers
• vectors
• list
• queue
• stack
• Functions
3. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Template Functions and Classes
3
• A template is a simple yet very powerful tool in C++. The idea is to pass data
type as a parameter so that we don’t need to write the same code for different
data types.
• Eg., we may need to sort() for different data types. Rather than writing and
maintaining multiple codes, we can write one sort() and pass data type as a
parameter.
• Keywords to support templates: ‘template’ and ‘typename’. The second
keyword can always be replaced by the keyword ‘class’.
• Templates are expanded at compile time.
• This is like macros. The difference is, that the compiler does type checking
before template expansion. The idea is simple, source code contains only
function/class, but compiled code may contain multiple copies of the same
function/class.
4. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Template Functions
4
• Function Templates: We write a generic function that can be used for
different data types.
5. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Template Classes
5
• Class Templates: Like function templates, class templates are useful when a
class defines something that is independent of the data type.
6. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Standard Template Library (STL)
6
• The Standard Template Library (STL) is a set of C++ template classes to
provide common programming data structures and functions.
• It is a generalized library and so, its components are parameterized.
• The key benefits of the STL is that it provides a way to write generic,
reusable code that can be applied to different data types.
• Key components of the STL include
• Iterators
• Algorithms
• Containers
• Functions
7. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Iterators
7
• As the name suggests, iterators are used for working on a sequence of
values.
• Iterators are used to point at the memory addresses of STL containers.
• They reduce the complexity and execution time of the program.
• Operations:-
• begin() :- This function is used to return the beginning position of the
container.
• end() :- This function is used to return the after end position of the
container.
8. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Iterators
8
• next() :- This function
returns the new iterator
that the iterator would
point after advancing
the positions mentioned
in its arguments.
• prev() :- This function
returns the new iterator
that the iterator would
point after decrementing
the positions mentioned
in its arguments.
9. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Iterators
9
• inserter() :- This function is used to insert the elements at any position in the
container. It accepts 2 arguments, the container and iterator to position where
the elements have to be inserted.
10. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Algorithms
10
• The header algorithm defines a collection of functions specially designed to
be used on a range of elements.
• They act on containers and provide means for various operations for the
contents of the containers.
• Examples:
• Sort
• Reverse
• Max
11. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Sort
11
• Sorting means arranging the data in a
particular fashion, which can be
increasing or decreasing.
• There is a built-in function in C++ STL
by the name of sort().
• This function internally uses IntroSort.
It is implemented using hybrid of
QuickSort, HeapSort and InsertionSort.
By default, it uses QuickSort but if
QuickSort is doing unfair partitioning
and taking more than N*logN time, it
switches to HeapSort and when the
array size becomes really small, it
switches to InsertionSort.
12. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Reverse and Max
12
• reverse(first_iterator, last_iterator) – To reverse a vector. ( if ascending ->
descending OR if descending -> ascending)
• *max_element (first_iterator, last_iterator) – To find the maximum element
of a vector.
13. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Containers
13
• A container is a holder object that stores a collection of other objects (its
elements). They are implemented as class templates, which allows great
flexibility in the types supported as elements.
• The container manages the storage space for its elements and provides
member functions to access them, either directly or through iterators
(reference objects with similar properties to pointers).
• Following is the list of containers available with STL:
• vector
• list
• deque
• arrays
• forward_list
• queue
• priority_queue
• stack
14. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Vector
14
• Vectors are the same as dynamic arrays with the ability to resize itself
automatically when an element is inserted or deleted, with their storage being
handled automatically by the container.
• Vector elements are placed in contiguous storage so that they can be accessed
and traversed using iterators.
• Funtions:
• begin() – Returns an iterator pointing to the first element in the vector
• end() – Returns an iterator pointing to the theoretical element that follows the last
element in the vector
• rbegin() – Returns a reverse iterator pointing to the last element in the vector (reverse
beginning). It moves from last to first element
• rend() – Returns a reverse iterator pointing to the theoretical element preceding the first
element in the vector (considered as reverse end)
15. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Vector
15
16. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Vector
16
• size() – Returns the
number of elements in the
vector.
• resize(n) – Resizes the
container so that it contains
‘n’ elements.
• empty() – Returns whether
the container is empty.
17. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Stack
17
• Stacks are a type of container adaptors with LIFO(Last In First Out) type of
working, where a new element is added at one end (top) and an element is
removed from that end only.
• The functions associated with stack are:
• empty() – Returns whether the stack is empty
• size() – Returns the size of the stack
• top() – Returns a reference to the top most element of the stack
• push(g) – Adds the element ‘g’ at the top of the stack
• pop() – Deletes the most recent entered element of the stack
18. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Stack
18
19. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Queue
19
• Queues are a type of container adaptors that operate in a first in first out
(FIFO) type of arrangement. Elements are inserted at the back (end) and are
deleted from the front.
20. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Problem-Statement-1
20
• Concatenation of Array:
• Given an integer array nums of length n, you want to create an array ans of
length 2n where ans[i] == nums[i] and ans[i + n] == nums[i] for 0 <= i < n
(0-indexed).
• Specifically, ans is the concatenation of two nums arrays.
• Return the array ans.
• Example:
Input: nums = [1,2,1]
Output: [1,2,1,1,2,1]
Explanation: The array ans is formed as follows:
- ans = [nums[0],nums[1],nums[2],nums[0],nums[1],nums[2]]
- ans = [1,2,1,1,2,1]
21. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Solution
21
22. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Problem-Statement-2
22
• Kids With the Greatest Number of Candies:
• There are `n` kids with candies. You are given an integer array `candies`,
where each `candies[i]` represents the number of candies the `ith` kid has,
and an integer `extraCandies`, denoting the number of extra candies that you
have.
• Return a boolean array result of length n, where result[i] is true if, after
giving the ith kid all the extraCandies , they will have the greatest number of
candies among all the kids, or false otherwise.
• Note that multiple kids can have the greatest number of candies.
23. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Solution
23
24. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Problem-Statement-3
24
• Reverse String:
• Solution:
25. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Problem-Statement-4
25
• Backspace String Compare:
• Given two strings s and t, return true if they are equal when both are typed
into empty text editors. '#' means a backspace character.
• Note that after backspacing an empty text, the text will continue empty.
• Example 1:
Input: s = "ab#c", t = "ad#c"
Output: true
Explanation: Both s and t become "ac".
• Example 2:
Input: s = "ab##", t = "c#d#"
Output: true
Explanation: Both s and t become "".
26. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Solution
26
27. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Problem-Statement-5
27
• Implement a stack using Queue:
• Solution:
28. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Solution
28
29. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Problem-Statement-6
29
• Number of Students Unable to Eat Lunch:
• The school cafeteria offers circular and square sandwiches at lunch break,
referred to by numbers `0` and `1` respectively. All students stand in a queue.
Each student either prefers square or circular sandwiches.
• The number of sandwiches in the cafeteria is equal to the number of students.
The sandwiches are placed in a stack. At each step:
• If the student at the front of the queue prefers the sandwich on the top of
the stack, they will take it and leave the queue.
• Otherwise, they will leave it and go to the queue's end.
• This continues until none of the queue students want to take the top
sandwich and are thus unable to eat.
30. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Solution
30
31. MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING, SHIRPUR
Thank You…!!!
31